Compare object deep equality
by Jagrati Tomar
JavaScript
function deepEqual(valueA, valueB) {
// prmitives
if (Object.is(valueA, valueB)) {
return true;
}
console.log(typeof valueA);
if (typeof valueA !== "object" || typeof valueB != "object") {
return false;
}
const keysA = Object.keys(valueA);
const keysB = Object.keys(valueB);
console.log(keysA, keysB, valueA);
if (keysA.length != keysB.length) {
return false;
}
for (const key in valueA) {
if (!valueB.includes(valueA[key]) || !deepEqual(valueA[key], valueB[key])) {
return false;
}
}
return true;
}
console.log(deepEqual(['1'], ['1']));