欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

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 } ]
}