javascript - 合并对象和数组内的对象?

标签 javascript jquery list functional-programming

原始数据是这样的

var d = {A1:{name:"A1",value:10}, A2:{name:"A2",value:8}}
var l = [{name: "A1", 1min: 1, 2min:10}, {name: "A2", 1min:5, 2min:40}}

我需要做的是将dl合并在一起以获得相同的name,结果将是这样的:

{A1: {name:"A1", value:10, 1min: 1, 2min:10}, 
 A2: {name: "A2", value:8, 1min:5, 2min:40}}

我认为ifloop可以帮助我解决这个问题。但对于非常大的数据集,是否有更好、更简单的方法来做到这一点?

最佳答案

这有效吗?

for (var i=0; i < l.length; ++i) {
    var tmp = l[i];

    for (var key in tmp) {
        d[ tmp.name ][ key ] = tmp[key];
    }
}

关于javascript - 合并对象和数组内的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17944202/

相关文章:

javascript - 可以对 $scope.$watch 使用 if/else 语句吗?

javascript - 找到真正的父元素

javascript - Angular JS Promise + 对象构造函数

javascript - 模型更改后 angular.js 重新渲染 div

PHP header() 重定向后 JavaScript 未加载

javascript - 从具有两个下拉列表的表行中,获取选定的值以及更改的下拉列表

python - 当并非所有值都存在时对列表列表进行排序

Python redis rpop 是 resultng b'value' 列表结构

list - 递归处理列表和列表的子列表给出类型不匹配

javascript - 如何更改 w3.css 按钮自身的颜色?