合并Javascript对象
这个问题在这里已经有了答案:
使用Object.keys
和Array#forEach
var object1 = {
id: 1,
name: "myname",
boleanSample: true,
};
var object2 = {
unknownKeyName: "UnknownValue" //correct typo here
};
Object.keys(object2).forEach(function(key) {
object1[key] = object2[key];
});
console.log(object1);
这个合并函数应该这样做。 只记得先添加你想要追加的对象。
var object1 = {
id: 1,
name: "myname",
boleanSample : true
}
var object2 = {
unknownKeyName : "UnknownValue"
}
function mergeObjects(a,b){
for(var bi in b) {
if(b.hasOwnProperty(bi)) {
if(typeof a[bi] === "undefined") {
a[bi] = b[bi];
}
}
}
}
mergeObjects(object1,object2);
console.log(object1);
第一步:遍历属性。
第二步:尝试并检查对象
第三步:如果真的,在obj [prop]上激活函数并检查,否则只需检查。
第四步:如果有错误obj [prop] = check;
第五步:返回obj
/*functions*/
function objectConcat(o1, o2) {
for (var v in o2) {
try {
o1[v] = (o2[v].constructor == Object) ? objectConcat(o1[v], o2[v]) : o2[v];
} catch (e) {
o1[v] = o2[v];
}
}
return o1;
}
/*objects*/
var object1 = {
id: 1,
name: "myname",
boleanSample: true,
}
var object2 = {
unknownKeyName: "UnknownValue" /*mistake straighten*/
}
/*code*/
console.log(objectConcat(object2, object1));
链接地址: http://www.djcxy.com/p/27343.html