javascript - 循环遍历 JavaScript 对象的其他方法?

标签 javascript ecmascript-6

下面的代码运行良好,但 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;
        }
      }
    }

最佳答案

如果您的目标只是避免 ESLint 中的错误,我建议使用 Object.keys(obj).forEach() 我通常在自己的项目中采用这种方法。

伪例子:

Object.keys(groups).forEach(key => {
    if (Object.prototype.toString.call(groups[key]) === '[object Object]') {
        if ({}.hasOwnProperty.call(groups[key], 'users')) {
            count += groups[key].users.length;
        }
    }
});

关于javascript - 循环遍历 JavaScript 对象的其他方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40357205/

相关文章:

javascript - 将 JS 添加到空 iframe

JavaScript 在带有回调的循环中异步

javascript - React 15.1.0,将整个状态从 parent 传递给 child

javascript - @syncfusion/ej2-ng-grids 中 GridComponent 的依赖关系解决

javascript - 如何从同一对象的(箭头)函数访问对象的属性

javascript - 生成键、值和完成的方法,格式为 {value : . 。 , key : .。 ,完成 : . 。}

javascript - 如何解决同一页面多次出现api key错误

javascript - 方法正在一次又一次地调用

javascript - 如何选择 d3 中的前两个元素并对它们应用过渡?

JavaScript:当数组为空时解构对象数组时出错