2 个回答
let newArr = []
arr.forEach(el=>{
    const result = newArr.findIndex(ol=>{return el.id === ol.id})
    if(result!== -1){
        newArr[result].value = newArr[result].value + el.value
    }else{
        newArr.push(el)
    } 
})
console.log(newArr)
新手上路,请多包涵

var param = [{"HOST_IP":"192.168.167.11","TASK_NAME":"test","MSG_COUNT": 3},

            {"HOST_IP":"192.168.167.12","TASK_NAME":"test","MSG_COUNT": 4},
            {"HOST_IP":"192.168.167.11","TASK_NAME":"test","MSG_COUNT": 5}];
var fileArray =[],flag = true;
for (var i = 0; i< param.length; i++){
    if(i == 0){
        fileArray.push({"HOST_IP":param[i].HOST_IP,"TASK_NAME":param[i].TASK_NAME,"MSG_COUNT": param[i].MSG_COUNT});
        continue;
    }
    for (var j = 0 ;j <fileArray.length; j++){
        if(fileArray[j].HOST_IP == param[i].HOST_IP){
            var ip = param[i].HOST_IP;

            var ipResult = fileArray.findIndex(function (value) {
                return value.HOST_IP === param[i].HOST_IP;
            });
            fileArray[ipResult].MSG_COUNT = fileArray[ipResult].MSG_COUNT + param[i].MSG_COUNT;

            flag = false;
            continue;
        }
    }
    if (flag){
        fileArray.push({"HOST_IP":param[i].HOST_IP,"TASK_NAME":param[i].TASK_NAME,"MSG_COUNT": param[i].MSG_COUNT});
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题