共计 464 个字符,预计需要花费 2 分钟才能阅读完成。
Es6 依据某个属性将数组分组:
比方如下数组, 将依据 sex 字段来分组,sex 为男的放到一起, 为女的放到一起:
次要代码如下:
const array = [{
id: 1,
name: ‘ 小明 ’,
sex: ‘ 男 ’
},
{
id: 3,
name: ‘ 小红 ’,
sex: ‘ 女 ’
},
{
id: 2,
name: ‘ 小刚 ’,
sex: ‘ 男 ’
},
{
id: 4,
name: ‘ 小花 ’,
sex: ‘ 女 ’
},
{
id: 5,
name: ‘ 小甜甜 ’,
sex: ‘ 女 ’
},
];
function getList(list) {
const map = new Map()
list.forEach((item, index, arr) => {
if (!map.has(item.sex)) {
map.set(
item.sex,
arr.filter(a => a.sex == item.sex)
)
}
})
return Array.from(map).map(item => […item[1]])
}
const list = getList(array)
console.log(array, ‘ 分组前 ’);
console.log(list, ‘ 分组后 ’);
正文完