物件陣列根據物件的相同value計算數量
阿新 • • 發佈:2022-05-18
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);