首页 > 解决方案 > 计算 JavaScript 对象中的 true 数

问题描述

假设我有以下对象:

  items = {
    1: true,
    2: false,
    3: true,
    4: true
  },

我将如何计算真实的数量?因此,在这种情况下,一个简单的函数将返回数字 3。

标签: javascript

解决方案


您可以reduce对象的values, 强制trues1并将它们添加到累加器中:

const items = {
  1: true,
  2: false,
  3: true,
  4: true
};

console.log(
  Object.values(items).reduce((a, item) => a + item, 0)
);

假设对象仅包含trues 和falses,否则您必须显式测试true

const items = {
  1: true,
  2: false,
  3: 'foobar',
  4: true
};

console.log(
  Object.values(items).reduce((a, item) => a + (item === true ? 1 : 0), 0)
);


推荐阅读