let s = [ {
"warning_level": "III级黄色预警",
"warning_type": "大风预警",
"arrive_time": "2022-03-29T00:00:00.000+0800"
},
{
"warning_level": "III级黄色预警",
"warning_type": "雷暴预警",
"arrive_time": "2022-03-29T00:00:00.000+0800"
},
{
"warning_level": "III级黄色预警",
"warning_type": "雷电预警",
"arrive_time": "2022-04-19T00:02:00.000+0800"
},
{
"warning_level": "III级黄色预警",
"warning_type": "雷电预警",
"arrive_time": "2022-05-17T00:01:00.000+0800"
}];
let r = s.reduce((preVal,curVal)=> {
let flag = false;
preVal = preVal.map(cur=> {
if (cur.name == curVal.warning_type) {
cur.value++;
flag = true;
}
return cur;
});
if (!flag) {
preVal.push({name:curVal.warning_type,value:0});
}
return preVal
},[]);
console.log(r);