我正在尝试在 javascript 中创建以下数据结构:
d = {"foo": [3, 77, 100], "bar": [10], "baz": [99], "biff": [10]}
我的起始数据结构是一个字典列表:
input = [{"key": "foo", "val": 3}, {"key": "bar", "val": 10}, {"key": "foo", "val": 100}, {"key": "baz", "val": 99}, {"key": "biff", "val": 10}, {"key": "foo", "val": 77]
如何生成我想要的数据结构?以下代码似乎没有将值附加到值数组。
var d = {}
for (var i in input) {
var datum = input[i];
d[datum.key] = datum.val
}
最佳答案
for (var i = 0; i < input.length; i++) {
var datum = input[i];
if (!d[datum.key]) {
d[datum.key] = [];
}
d[datum.key].push(datum.val);
}
仅供引用,您不应该使用
for (var i in input)
遍历数组。
关于javascript - 将值附加到 javascript 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599361/