为了账号安全,请及时绑定邮箱和手机立即绑定

计算嵌套对象中的值数

计算嵌套对象中的值数

神不在的星期二 2022-08-18 15:56:02
我有一个来自Firebase的对象,看起来像这样:{   "-M7OfUx9uE9Ly84iK1rF":{      "dietRestrictions":"Vegetarian",      "name":[         "Josh",         "Kaylyn",         "Jack"      ]   },   "-M7OnjC7CVMZiKJWeZyF":{      "dietRestrictions":"",      "name":[         "TEST 1",         "TEST 2"      ]   }}我想计算对象中名称的总数。密钥来自 Firebase,并且是随机的。另外,如果名称为空/未定义,我不想计算它。-M7OnjC7CVMZiKJWeZyF
查看完整描述

3 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

  const data = {} // Your object

    let count = 0;

    Object.entries(data).forEach(([key, value]) => {

      if(value.name && value.name.length > 0) {

        count += value.name.filter(Boolean).length;    

      }

    });


查看完整回答
反对 回复 2022-08-18
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

 const response={

       "-M7OfUx9uE9Ly84iK1rF":{

          "dietRestrictions":"Vegetarian",

          "name":[

             "Josh",

             "Kaylyn",

             "Jack"

          ]

       },

       "-M7OnjC7CVMZiKJWeZyF":{

          "dietRestrictions":"",

          "name":[

             "TEST 1",

             "TEST 2"

          ]

       }

    };

    

     const countNumber = (obj) => {

          let count = 0;

          for (const key in obj) {

            if (Array.isArray(obj[key].name)) count += obj[key].name.length;

          }

          return count;

        };


    const output = countNumber(response);

    console.log(output)//5


查看完整回答
反对 回复 2022-08-18
?
三国纷争

TA贡献1804条经验 获得超7个赞

用Object.keys()


let obj = {

  "-M7OfUx9uE9Ly84iK1rF": {

    "dietRestrictions": "Vegetarian",

    "name": [

      "Josh",

      "Kaylyn",

      "Jack"

    ]

  },

  "-M7OnjC7CVMZiKJWeZyF": {

    "dietRestrictions": "",

    "name": [

      "TEST 1",

      "TEST 2"

    ]

  }

}

let count = 0;

Object.keys(obj).forEach(el => {

  if (obj[el].name && obj[el].name.length) count += obj[el].name.length

})

console.log(count) //5


查看完整回答
反对 回复 2022-08-18
  • 3 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信