JS 操作数组工件 - 还原(总和、出现、去强调、分类) - 五、分类
最编程
2024-03-15 20:55:39
...
假如我们想把商品数组里面上架和未上架的商品分类
演示代码
// 根据数组对象某个属性分类
const shopList = [
{
id: 1,
name: '苹果',
isDeleted: false
},
{
id: 2,
name: '小米',
isDeleted: false
},
{
id: 3,
name: '华为',
isDeleted: true
}
]
function groupBy(list, pros) {
return list.reduce((prev, item) => {
let key = item[pros]
if (!prev[key]) {
prev[key] = []
}
prev[key].push(item)
return prev
}, {})
}
let myShopList = groupBy(shopList, 'isDeleted')
console.log(myShopList)
输出结果
{
false: [
{ id: 1, name: '苹果', isDeleted: false },
{ id: 2, name: '小米', isDeleted: false }
],
true: [ { id: 3, name: '华为', isDeleted: true } ]
}
上一篇: ES6 数组还原方法详情
下一篇: js-reduce 方法源代码