首页 > 解决方案 > 在对象属性中计算真正的布尔值

问题描述

嗨,我需要一个函数来计算不同对象“usuarios”的“online:true”属性,有人可以帮忙吗?

    //     toni: {
    //         edad: 33,
    //         online: true
    //     },
    //     emi: {
    //         edad: 25,
    //         online: true
    //     },
    //     fran: {
    //         edad: 25,
    //         online: false
    //     },
    //     agus: {
    //         edad: 24,
    //         online: false
    //     }```

标签: javascriptboolean

解决方案


使用Object.values收集所有值并使用reduce count allonline:true

const obj = {
  toni: {
    edad: 33,
    online: true,
  },
  emi: {
    edad: 25,
    online: true,
  },
  fran: {
    edad: 25,
    online: false,
  },
  agus: {
    edad: 24,
    online: false,
  },
};

const result = Object.values(obj).reduce((acc, curr) => {
  if (curr.online) ++acc;
  // or
  // if (curr.online === true) ++acc;
  return acc;
}, 0);
console.log(result);


推荐阅读