我正在寻找最佳方法来“添加”多个JavaScript对象(关联数组)。
例如,给定:
a = { "one" : 1, "two" : 2 };
b = { "three" : 3 };
c = { "four" : 4, "five" : 5 };
什么是计算的最佳方式:
{ "one" : 1, "two" : 2, "three" : 3, "four" : 4, "five" : 5 }
我正在寻找最佳方法来“添加”多个JavaScript对象(关联数组)。
例如,给定:
a = { "one" : 1, "two" : 2 };
b = { "three" : 3 };
c = { "four" : 4, "five" : 5 };
什么是计算的最佳方式:
{ "one" : 1, "two" : 2, "three" : 3, "four" : 4, "five" : 5 }
function Collect(a, b, c) {
for (property in b)
a[property] = b[property];
for (property in c)
a[property] = c[property];
return a;
}
注意:先前对象中的现有属性将被覆盖。
a === d
。这可能是可以接受的,也可能不是。 - tvanfosson最简单的方法:扩展运算符
var obj1 = {a: 1}
var obj2 = {b: 2}
var concat = { ...obj1, ...obj2 } // { a: 1, b: 2 }
function object_merge(){
for (var i=1; i<arguments.length; i++)
for (var a in arguments[i])
arguments[0][a] = arguments[i][a];
return arguments[0];
}
var object1={a:1,b:2};
var object2={c:3,d:4};
var object3={d:5,e:6};
var combined_object=object_merge(object1,object2,object3);
combined_object和object1都包含了object1、object2、object3的属性。
var object1={a:1,b:2};
var object2={c:3,d:4};
var object3={d:5,e:6};
var combined_object=object_merge({},object1,object2,object3);
function collect(a, b, c){
var d = {};
for(p in a){
d[p] = a[p];
}
for(p in b){
d[p] = b[p];
}
for(p in c){
d[p] = c[p];
}
return d;
}