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

53次阅读

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

正文完
 0