以下代码可以正常工作,但ESLint插件显示警告:“不允许使用'ForinStatement'”,因此我想改变它以防止警告消息:
let count = 0;
for (const key in groups) {
if (Object.prototype.toString.call(groups[key]) === '[object Object]') {
if ({}.hasOwnProperty.call(groups[key], 'users')) {
count += groups[key].users.length;
}
}
}
const key
?为什么不用let
或者var
。另外,{}.hasOwnProperty.call(groups[key], 'users')
可以简写为groups[key].hasOwnProperty('users')
。 - RajeshObject.keys(groups).forEach
行不行? - evolutionxboxObject.values
,Object.entries
或者Object.keys
结合for..of
,forEach
或者reduce
来迭代一个对象。真正的问题是,你是否理解了for..in
与这些选项在语义上的不同之处,并且你是否需要for..in
才能使你的逻辑正确运行? - CodingIntrigue