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

时间:2013-07-30 10:12:23

标签: 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可以帮助我解决问题。但是对于非常大的数据集,有没有更好更简单的方法呢?

1 个答案:

答案 0 :(得分:2)

这有用吗?

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

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