const data= [
{id: 1, name: '张三'},
{id: 2, name: '李四'},
{id: 1, name: '王五'},
{id: 3, name: '赵六'}
];
function getList() {
let arr = []
data.forEach((item, index) => {
// 遍历data数组,查找每一项的type属性,如果没有则添加到arr数组中
let i = arr.findIndex(label => label.type === item.type)
// 如果arr数组中没有该type属性,则添加一个新的对象,并将该对象添加到arr数组中
if (i == -1) {
arr.push({
type: item.type,
name: item.name,
remarks: item.remarks,
list: [item]
})
} else {
// 如果arr数组中有该type属性,则将该对象添加到该type属性对应的list属性中
arr[i].list.push(item)
}
})
console.log(arr)
return(arr)
},
JavaScript 对比数组中每个对象的type,并将具有相同type的对象分组在一起
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 相信大家或多或少都会遇到这类问题,即: ios 数组中相同属性值对象进行分组 - 简书 一个数组中很多对象,将对象...
- 1. 利用find函数和es6箭头函数,下面方法取到数组中满足条件的第一个元素; 2. 查找符合条件的所有元素
- <!DOCTYPE html> Document //做比较的两个数组var array1 = [...