javascript - 将值附加到 javascript 字典

标签 javascript

我正在尝试在 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/

相关文章:

javascript - 如果表单输入中存在任何错误/过滤的单词,则显示警报

javascript - 如何使用 angularjs 基于复选框选中和取消选中来制作复选框列表?

javascript - 在 Ruby on Rails 的 haml View 中将 ruby​​ 数组传递给 javascript 代码 (jquery)

Javascript:确定未知数组长度并动态映射

javascript - Wordpress/Modal/JS 错误 - 模态突然停止工作

javascript - 是否需要对有关 "inheritance"的 MDN 文章进行技术审查?

javascript - JavaScript 中的执行上下文

Tizen 可穿戴设备屏幕顶部的 Javascript 触摸事件

javascript - 将外部链接嵌入到 anchor 标记

javascript - json_encode 在我的外部 javascript 中没有显示任何内容