2024年07月19日 建站教程
功能需求:在同一个数组内根据用户的名字合并(合并相同名字),里面的数组也跟着合并。具体代码如下:
数组合并:
var resData = [{ id:'11', name:'小米', count:1, logs:[{ rules:'规则1', type:1 },{ rules:'规则2', type:2 }] },{ id:'12', name:'小红', count:1, logs:[{ rules:'规则2', type:2 }] },{ id:'13', name:'小李', count:1, logs:[{ rules:'规则3', type:1 }] },{ id:'14', name:'小米', count:1, logs:[{ rules:'规则4', type:1 }] }] var tempArr = []; var resultData = []; for (var i = 0; i < resData.length; i++) { if (tempArr.indexOf(resData[i].name) === -1) { resultData.push({ id: resData[i].id, name: resData[i].name, count: resData[i].count, logs: resData[i].logs }); tempArr.push(resData[i].name); } else { for (var j = 0; j < resultData.length; j++) { if (resultData[j].name == resData[i].name) { var logs = resultData[j].logs.concat(resData[i].logs) resultData[j].logs = logs break; } } } } console.log('resultData',resultData)
虽然写法有些麻烦,但是客户需求兼容ie9、ie10浏览器~
本文链接:http://so.lmcjl.com/news/8765/