这两个函数不应该返回相同的吗?因为 in 给了我 ForInStatement 不允许的语法限制,而 Object.keys 给了我完全不同的结果。一旦它返回false,为什么它又循环了?
我想检查对象中的任何元素是否为空或空。只要它返回false,为什么它仍然在Object.keys中循环?在 ForIn 中,一旦在对象中检测到空元素,它就会返回 false 并且循环停止。
对于输入
checkEmpty = (obj) => {
for (const key in obj) {
if (obj[key] === null || obj[key] === '') {
console.log('forIn', obj[key] === null || obj[key] === '');
return false;
}
}
return true;
}
对象.keys
checkEmpty = (obj) => {
Object.keys(obj).forEach(key => {
if (obj[key] === null || obj[key] === '') {
console.log('forEach', obj[key] === null || obj[key] === '');
return false;
}
});
return true;
}
qq_笑_17
德玛西亚99
相关分类