关于vue.js:Es6根据某个属性将数组分组

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, ‘分组后’);

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理