记录一个工作中常用的方法:
把数组中具有相同的属性和相同属性值的多条数据合并成一条数据的方法
//原始数组
let _arr = [
{key:'1',datas:[11,12,13]},
{key:'1',datas:[14,15,16]},
{key:'2',datas:[21,22,23]},
{key:'2',datas:[24,25,26]},
]
let tempKeyArr = [];
let tempDataArr = [];
let detailDatas = []
for (let i = 0; i < _arr.length; i++) {
if (tempKeyArr.indexOf(_arr[i].key) === -1) {
tempDataArr.push({
key: _arr[i].key,
datas: _arr[i].datas
});
tempKeyArr.push(_arr[i].key);
} else {
for (let j = 0; j < tempDataArr.length; j++) {
if (tempDataArr[j].key == _arr[i].key) {
_arr[i].datas.map(item=>{
tempDataArr[j].datas.push(item);
})
}
}
}
}
detailDatas = tempDataArr
输出:
let _arr = [
{key:'1',datas:[11,12,13,14,15,16]},
{key:'2',datas:[21,22,23,24,25,26]},
]