Javascript 循环遍历对象数组并获取值

Javascript 循环遍历对象数组并获取值,javascript,arrays,reactjs,loops,object,Javascript,Arrays,Reactjs,Loops,Object,我有下面的对象,我需要对象内byPerson数组的计数。基本上,我想检查每个byPerson数组元素中的count,并将这些属性作为数组获取 例如 var Closed=[16,0,1,43]//这里第一个count对象有16个为Closed,第二个count对象没有Closed属性(因此我们将其设置为0),第三个对象有值1,第四个对象有值43 同样地 var Verify=[0,5,0,1] 如何实现此计算并将结果存储在如上所示的Closed和Verify变量中 { "byPer

我有下面的对象,我需要对象内
byPerson
数组的计数。基本上,我想检查每个
byPerson
数组元素中的
count
,并将这些属性作为数组获取

例如

var Closed=[16,0,1,43]//这里第一个
count
对象有16个为Closed,第二个
count
对象没有Closed属性(因此我们将其设置为0),第三个对象有值1,第四个对象有值43

同样地 var Verify=[0,5,0,1]

如何实现此计算并将结果存储在如上所示的
Closed
Verify
变量中

{
  "byPerson": [
    {
      "personId": "1514903899",
      "firstName": "Yatish",
      "lastName": "Patel",
      "count": {
        "Closed": 16,
      }
    },
    {
      "personId": "1559363884",
      "firstName": "Samuel",
      "lastName": "Chacko",
      "count": {
        "Verify": 5
      }
    },
    {
      "personId": "297895805",
      "firstName": "Tim",
      "lastName": "Altman",
      "count": {
        "Closed": 1
      }
    },
    {
      "personId": "others",
      "firstName": "Others",
      "lastName": "",
      "count": {
        "Closed": 43,
        "Verify": 1
      }
    }
  ],
  "resultDateTime": "2021-04-23T12:14:33.901"
}
我试过这样做

const closedValues= releaseData.byPerson.map(element => element.count["Closed"] === undefined ? 0: element.count["Closed"]);
const verifyValues= releaseData.byPerson.map(element => element.count["Verify"] === undefined ? 0: element.count["Verify"]);
    ```

But i guess it is not the optimal solution where i have to calculate for each one seperately. 
您可以使用一次性计数:

const数据={
“byPerson”:[{
“personId”:“1514903899”,
“名字”:“Yatish”,
“姓氏”:“帕特尔”,
“计数”:{
“关闭”:16,
}
},
{
“personId”:“1559363884”,
“名字”:“塞缪尔”,
“姓氏”:“查科”,
“计数”:{
“核实”:5
}
},
{
“personId”:“297895805”,
“名字”:“蒂姆”,
“姓氏”:“奥特曼”,
“计数”:{
“关闭”:1
}
},
{
“personId”:“其他人”,
“名字”:“其他人”,
“姓氏”:“,
“计数”:{
“已关闭”:43,
“验证”:1
}
}
],
“结果日期”:“2021-04-23T12:14:33.901”
}
const result=data.byPerson.reduce((结果{
计数
}) => {
结果.关闭.推送(计数.关闭| | 0);
结果.verify.push(count.verify | 0);
返回结果;
}, {
已关闭:[],
验证:[]
});

控制台日志(结果)如果您正在使用ES6,并且您的对象被称为“jsonData”:constbyperson=jsonData.byPerson;const Closed=[];常量验证=[];对于(设i=0;i@Zak-添加了我尝试过的代码。这不是最佳方式。@ArenTrot--由于问题已结束(我投票重新打开)…如果这是您想要的,我为您创建了一个小提琴。重新打开Hanks后,我将回答问题(解释)。这比我的方式好得多。比我的方式干净得多。很好。。