循环哪里我写的只是有一点点不同,怎么就出现不了正确的结果呢?
来源:18-3 题目讲解-2:手写深度比较 isEqual

慕虎6468404
2022-03-17
for (let key in obj1) {
if (obj2[key]) {
const res = isEqual(obj1[key], obj2[key]);
return res;
} else {
return false;
}
// const res = isEqual(obj1[key], obj2[key]);
// if (!res) {
// return false;
// }
上面的是我写的,下面注释掉的是老师写的。
我判断了一下obj2[key]是否存在,然后返回res结果。如果不存在则直接返回false。
结果是,不能深度对比是否相等。
写回答
2回答
-
双越
2022-03-18
问题不在于你说的地方。我在这里打印了一下,key 只输出了 a ,没有 b(如下图)。
你再顺着这个 bug排查一下。
00 -
双越
2022-03-17
你写一个完整里的例子。第一,函数写全;第二,传入的 obj1 和 obj2 分别是什么
我再来看看
012022-03-18
相似问题