我想将右侧对象复制到左侧对象中,而不将右侧对象中的属性复制到左侧。最后,我只想要左侧对象中存在的属性。我可以使用 JavaScript 和 jQuery
var left = { "id": "123" };
var right = { "id": "456", "no": "false" };
$.each(left, function (l1_key, l1Value) {
if (typeof l1Value === 'object') {
const left_l2 = left[l1_key];
const right_l1_properties = right[l1_key];
$.each(left_l2, function (l2_key, l2Value) {
l2Value = right_l1_properties[l2_key];
});
}
});
剩下的需要是:
{ "id": "456" };
只需迭代左对象中的所有属性,检查该键是否存在于右对象中,并将左键值设置为右键值。
var left = { "id": "123" }; var right = { "id": "456", "no": "false" };
for (var prop in left){
if(prop in right) {
left[prop] = right[prop];
}
};
console.log(left);
不需要jQuery。
编辑:与使用 if(right[prop]) 相比,更适合对象并使用hasOwnProperty
或in
检查匹配属性是否存在更有意义。我已更新代码以使用in
. 在讨论in
VS hasOwnProperty
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句