Javascript 是否合并数组中的对象和对象?
原始数据是这样的Javascript 是否合并数组中的对象和对象?,javascript,jquery,list,functional-programming,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}} 我需要做的是将d和l合并为同一个名称,结果如下: {A1: {name:"A1", value:10, 1min: 1, 2min:10}, A2: {name: "A2", value:8, 1min:5, 2mi
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}}
我需要做的是将d
和l
合并为同一个名称
,结果如下:
{A1: {name:"A1", value:10, 1min: 1, 2min:10},
A2: {name: "A2", value:8, 1min:5, 2min:40}}
我想if
和loop
可以帮我解决这个问题。但对于非常大的数据集,有没有更好、更简单的方法 这有用吗
for (var i=0; i < l.length; ++i) {
var tmp = l[i];
for (var key in tmp) {
d[ tmp.name ][ key ] = tmp[key];
}
}
for(变量i=0;i
属性和名称是否总是在d
中匹配?所以d[key].name==key代码>?@JonathanLonowski是的,他们总是匹配这个问题与d3无关。您可能正在使用此数组作为d3图形的节点列表,但这与您的问题无关。您实际上不需要删除该名称,因为它将被相同的值覆盖。