我需要合并这两个对象以使用JS获得以下输出。在此先感谢,如果需要,可以使用jquery库
var defaultOptions = {
count:3
};
var JSON = {
one:{
title:"something",
count:15
},
two:{
title:"another"
}
}
// expecting
var JSON = {
one:{
title:"something",
count:15
},
two:{
title:"another",
count:3
}
}

答案 0 :(得分:1)
试试这个。
var defaultOptions = {
count:3
};
var someObject = {
one:{
title:"something",
count:15
},
two:{
title:"another"
}
}
for (var property in someObject) {
if (someObject[property].count == undefined) {
console.log(someObject[property]);
someObject[property].count = defaultOptions.count;
console.log(someObject[property]);
}
}
答案 1 :(得分:0)
您可以使用for
合并对象。
$.extend
更新:遍历对象并检查 for (var key in JSON) {
if (!JSON[key]['count']){
$.extend(JSON[key], defaultOptions);
}
}
对象
答案 2 :(得分:0)
它是这样的:
function mergeObjs(){
var a = [].slice.call(arguments), o = a.shift();
for(var i=0,l=a.length; i<l; i++){
for(var p in a[i]){
o[p] = a[i][p];
}
}
return o;
}
console.log(mergeObjs({neat:'totally'}, {cool:'works', someAry:[1,7,5,'test']}, {what:'now', really:7}));
&#13;