Я пытаюсь выполнить глубокое сравнение объектов с помощью рекурсии, но моя функция возвращает undefined
.
. Я знаю, что есть лучшие способы сравнения объектов (IE JSON.Stringify()
), но я не понимаю, почемумоя функция возвращает undefined
.
function deepObjCompare(obj1, obj2) {
Object.keys(obj1).forEach((key) => {
const key1 = obj1[key];
const key2 = obj2[key];
if (key2) {
if (typeof key1 === "object" && key1 !== null) {
deepObjCompare(key1, key2);
} else if (key1 === key2) {
return true;
}
}
return false;
});
}
const obj1 = {
name: "Bill",
address: {
cityNow: "Paris",
cityFuture: "NYC"
},
age: 39
};
const obj2 = {
name: "Bill",
address: {
cityNow: "Paris",
cityFuture: "NYC"
},
age: 39
};
const obj3 = {
name: "Bob",
address: "Paris",
age: 39
};
console.log(deepObjCompare(obj1, obj3));