ใช้ hasOwnProperty() ตรวจสอบก่อนเพิ่ม Property ใหม่
ตัวอย่างโค้ด
var first = {key1: 100, key2: 40, key3: 70};
var second = {key2: 80, key3: 70, key4: 1000};
function addPropertiesWithoutOverwriting(first, second) {
for (var key in second) {
if (second.hasOwnProperty(key) && !first.hasOwnProperty(key)) {
first[key] = second[key];
}
}
return first;
}
console.log(addPropertiesWithoutOverwriting(first, second));
วิธีรันโปรแกรม
ใช้คำสั่ง node fileName.js (เช่น node demo99.js)
ผลลัพธ์
{ key1: 100, key2: 40, key3: 70, key4: 1000 }
key2 และ key3 คงค่าเดิมของ first ไม่ถูกทับด้วยค่าของ second