计算嵌套对象中的值数

我有一个来自Firebase的对象,看起来像这样:


{

   "-M7OfUx9uE9Ly84iK1rF":{

      "dietRestrictions":"Vegetarian",

      "name":[

         "Josh",

         "Kaylyn",

         "Jack"

      ]

   },

   "-M7OnjC7CVMZiKJWeZyF":{

      "dietRestrictions":"",

      "name":[

         "TEST 1",

         "TEST 2"

      ]

   }

}

我想计算对象中名称的总数。密钥来自 Firebase,并且是随机的。另外,如果名称为空/未定义,我不想计算它。-M7OnjC7CVMZiKJWeZyF


神不在的星期二
浏览 150回答 3
3回答

摇曳的蔷薇

  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;          }    });

尚方宝剑之说

 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

三国纷争

用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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript