我需要比較兩個相同的對象(第二個具有比其他屬性更多的屬性)。比較兩個對象以覆蓋其中一個的值
我創建這個片斷這使對象的所有屬性到一個新的對象,而無需嵌套他們:
function getAllObjectProperties(source) {
var result = {};
function getProperties(object) {
for (var property in object) {
if (typeof object[property] === 'object') getProperties(object[property]);
else result[property] = object[property];
}
}
getProperties(source);
return result;
}
的比較函數應該是這樣的:
updateObjectProperties: function(source, target) {
var temp_object = self.getAllObjectProperties(source);
for (var property in temp_object) {
if (target.hasOwnProperty(property)) {
// target_property_of_target_element = temp_object[property];
}
else {
// target_object gains new property (property nesting must be preserved)
}
}
}
我該怎麼辦?可能嗎?
簡單而有用!謝謝,在我的情況下,它是完美的! – Giacomo