var old = { 'a':3, 'b': 5 }
var new = { 'a': 999, 'c': 10 }
如何将“new”添加到“old”并得到以下结果:
{ 'a': 999, 'b': 5, 'c': 10 }
var old = { 'a':3, 'b': 5 }
var new = { 'a': 999, 'c': 10 }
{ 'a': 999, 'b': 5, 'c': 10 }
for(var key in newObject)
{
if(!newObject.hasOwnProperty(key)) {
continue;
}
oldObject[key] = newObject[key];
}
jQuery提供了更好的函数调用$.extend。 例如:
var old_obj = {'a': 3, 'b': 5};
var new_obj = {'a': 999, 'c': 10};
var result = $.extend(old_obj, new_obj);
{a: 999, b: 5, c: 10}
var o = { 'a':3, 'b': 5 };
var n = { 'a': 999, 'c': 10 };
for (var key in n){
o[key]=n[key];
}
hasOwnProperty
。另外,已经有一些库中存在相关函数可供使用...可能值得提及其中一两个。 - user166390
hasOwnProperty()
是个好习惯,但如果属性不存在时直接在if
语句中进行赋值不是更简单吗? - nnnnnnnew
被视为保留字,将阻止其正确解析。尽管最初的帖子选择不佳 - 也许考虑重命名并为未来的读者添加注释 :) - user166390