gpt4 book ai didi

JavaScript - 构建复杂数据的对象

转载 作者:行者123 更新时间:2023-12-03 08:23:07 27 4
gpt4 key购买 nike

我正在编写一个函数来“内存表中的数据”。函数签名(在 AngularJS 中)是

$scope.memoryTable = {};
$scope.memorize = function(name, category, value) {
if (typeof name !== 'undefined' && typeof category !== 'undefined' && typeof value !== 'undefined') {

// build data to $scope.memoryTable

}
}

每次 View 评估表中的单元格数据时都会调用此memorise函数,并将该值添加到$scope.memoryTable

现在,我想要实现的是按照以下结构构建一个数组:

{
"$name": {
"$category": "$value"
}
}

例如:

> memorize("David", "animal", "cat");
> memorize("David", "book", "fiction");
> memorize("Thomas", "animal", "dog");

会产生

console.log(JSON.stringify($scope.memoryTable));

{
"David": {
"animal": "cat",
"book": "fiction"
},
"Thomas": {
"animal": "dog",
}
}

我应该如何编写代码来构建该数据表?

最佳答案

所以,你没有使用数组,你实际上使用的是普通的旧 JavaScript 对象。

$scope.memoryTable = {};
$scope.memorize = function(name, category, value) {
if (typeof name !== 'undefined' &&
typeof category !== 'undefined' &&
typeof value !== 'undefined') {
// build data to $scope.memoryTable
// First, make sure there is an entry for name.
$scope.memoryTable[name] = $scope.memoryTable[name] || {};
// Then, set the value for category under that name.
$scope.memoryTable[name][category] = value;
}
}

关于JavaScript - 构建复杂数据的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com