let list = [
{
arr: {
name: '12',
age: 20,
id:1
}
},
{
arr: {
name: '12',
age: 20,
id:2
}
},
{
arr: {
name: '33',
age: 20,
id:3
}
}
]
// 找出所有名字
let a = list.map(item => {
return item.arr.name
})
console.log(a, 'a...');
// 名字去重
let b = [...new Set(a)]
console.log(b, 'b...');
// 先把名字 和 ageList push进去
let c = b.map(item => {
return {name: item, ageList: []}
})
console.log(c, 'c...');
// 找出名字相同的, 把年龄和id当前一个对象push进ageList数组里
list.map((item,index) => {
c.map((val,key) => {
if (item.arr.name == val.name){
let child = {age: item.arr.age, id: item.arr.id}
c[key].ageList.push(child)
}
})
})
console.log(c);
JS——数组同级筛选
最新推荐文章于 2023-02-22 10:14:05 发布