javascript - 遍历对象列表并检查属性值

标签 javascript performance loops

我有一个对象列表:

var myObj = {
   obj1: {name: "bob", employed: true},
   obj2: {name: "dave", employed: false},
   obj3: {name: "james", employed: true},
}

迭代对象列表并计算有多少对象相等使用:true的最有效/优雅的方法是什么。有没有一个简短的方法可以写这个?我正在考虑像下面这样实现它:

const countEmployed = () => {
    for (let key in myObj) {
      if (myObj .hasOwnProperty(key)) {
      }
    }
}

最佳答案

您可以在 Object.values() 上使用 .reduce(),方法是使用 used 的 bool 值作为要添加的数字总计如下:

const myObj = {
   obj1: {name: "bob", employed: true},
   obj2: {name: "dave", employed: false},
   obj3: {name: "james", employed: true},
};

const sum = Object.values(myObj).reduce((t, {employed}) => t+employed, 0);
console.log(sum);

关于javascript - 遍历对象列表并检查属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335692/

相关文章:

php - Magento : Category Name instead of category ids in category path.

python - 如何在读取 CSV 文件时将字符串值转换为整数值?

javascript - 循环 - forEach, for, for...of, for...in

c - 将 O2 优化的 for 循环从汇编翻译成 C

javascript - 时间模式下的 Plot.ly : fixed grid size

javascript - 复选框已选中 显示按钮

javascript - html文件正文中的外部CSS

javascript - 管理 JavaScript 数据

java - 当我再按一次播放按钮,然后在mp3播放器中一次,我的应用程序崩溃

javascript - Winston 轮流写入多个文件