首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算对象列表中的true属性值

如何计算对象列表中的true属性值
EN

Stack Overflow用户
提问于 2021-02-11 02:13:28
回答 1查看 32关注 0票数 0

我有一个对象数组:

代码语言:javascript
运行
复制
var array = [
{name: 'test1', day1: true, day2: true, day3: false, day4: true, day5: false},
{name: 'test2', day1: false, day2: true, day3: false, day4: false, day5: true},
{name: 'test3', day1: true, day2: false, day3: false, day4: true, day5: false},
]

如何创建按天计数为真值新对象

代码语言:javascript
运行
复制
var result = {
  day1: 2,
  day2: 2,
  day3: 0,
  day4: 2,
  day5: 1
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-11 02:17:32

您可以使用Array.reduce()

代码语言:javascript
运行
复制
var array = [
  {name: 'test1', day1: true, day2: true, day3: false, day4: true, day5: false},
  {name: 'test2', day1: false, day2: true, day3: false, day4: false, day5: true},
  {name: 'test3', day1: true, day2: false, day3: false, day4: true, day5: false},
]

const output = array.reduce((acc, cur) => {
  Object.keys(cur).forEach(key => {
    if (key !== 'name') {
      if (!acc[key]) acc[key] = 0;
      if (cur[key]) acc[key] ++;
    }
  });
  return acc;
}, {});

console.log(output);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66142662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档