Как сравнить объекты и найти различие? Есть два объекта и нужно сравнить их и узнать, в чём они отличаются. Объекты выглядят так:New Object: { no: 123, print: '123', colorQty: 0, id: 602 } Old Object: { no: 123, print: '123', colorQty: 1, id: 602 } Видно, что colorQty: 0, меняется на colorQty: 1, Не нужно сравнить их и узнать, что они равны через isEqual, нужно узнать, в чём они различны. Как в таком случае сравнить объекты?
Для сравнения объектов и выявления различий между ними можно использовать цикл for..in для перебора свойств объектов и сравнения их значений. Например, можно сделать следующую функцию:
function findDifferences(newObj, oldObj) { for (let key in newObj) { if (newObj[key] !== oldObj[key]) { console.log(`Различие в свойстве ${key}: ${oldObj[key]} -> ${newObj[key]}`); } } } let newObj = { no: 123, print: '123', colorQty: 0, id: 602 }; let oldObj = { no: 123, print: '123', colorQty: 1, id: 602 }; findDifferences(newObj, oldObj);
При вызове функции findDifferences для объектов newObj и oldObj будет выведено различие в свойстве colorQty.
Для сравнения объектов и выявления различий между ними можно использовать цикл for..in для перебора свойств объектов и сравнения их значений. Например, можно сделать следующую функцию:
function findDifferences(newObj, oldObj) {for (let key in newObj) {
if (newObj[key] !== oldObj[key]) {
console.log(`Различие в свойстве ${key}: ${oldObj[key]} -> ${newObj[key]}`);
}
}
}
let newObj = { no: 123, print: '123', colorQty: 0, id: 602 };
let oldObj = { no: 123, print: '123', colorQty: 1, id: 602 };
findDifferences(newObj, oldObj);
При вызове функции findDifferences для объектов newObj и oldObj будет выведено различие в свойстве colorQty.