分组结果分数组
let map = {},
dest = [];
for(let i = 0; i < arr.length; i++){
let ai = arr[i];
if(!map[ai.id]){
dest.push({
id: ai.id,
name: ai.name,
data: [ai]
});
map[ai.id] = ai;
}else{
for(let j = 0; j < dest.length; j++){
let dj = dest[j];
if(dj.id == ai.id){
dj.data.push(ai);
break;
}
}
}
}
分组结果为对象
fn(arr: any[]) {
let checkArr = []
let imgObj = {}
if (arr && arr.length) {
for (let i = 0; i < arr.length; i++) {
let a = arr[i]
if (checkArr.indexOf(a.color) == -1) {
checkArr.push(a.color)
}
}
checkArr.forEach((item, index) => {
arr.forEach((item1, index1) => {
if (item === arr[index1].color) {
if (imgObj[item]) {
imgObj[item].push(arr[index1])
} else {
imgObj[item] = [arr[index1]]
}
}
})
})
}
console.log(checkArr, imgObj)
return imgObj
}
另一种方法,群里大佬提供的
const map = {}
arr.forEach(v => {
if(map[v.title]){
map[v.title] = [map[v.title]]
map[v.title].push(v.name)
}else {
map[v.title] = v.name
}
})