ES6中的Array.group()快速分类

ES6中的Array.group()快速分类组合数组

1.需要依赖babel,先在项目中安装

npm i core-js

2.引入

import 'core-js/actual/array/group

3.应用场景

有一个数组,需要根据数组中的某一信息,进行分组。
例:
有一组顾客信息,现将根据省份进行分组。

4.应用

一行代码解决

const orderList = [{
    
    
  nickName: 'steven',
  productName: '西瓜',
  price: 29,
  province: 'henan',
},{
    
    
  nickName: '对方的',
  productName: '杨梅',
  price: 22,
  province: 'shanxi',
},{
    
    
  nickName: '范电池',
  productName: '苹果',
  price: 19,
  province: 'dongbei',
},{
    
    
  nickName: '调查v',
  productName: '桃子',
  price: 88,
  province: 'shanxi',
},{
    
    
  nickName: '2号',
  productName: '桃子',
  price: 88,
  province: 'shanxi',
}]

const group=orderList.group(({
     
     province})=>province)
console.log(group)

在这里插入图片描述

5.未使用时的实现

const provinceObj = {
    
    }
for (let index = 0; index < orderList.length; index++) {
    
    
  const element = orderList[index];  //循环的该条数据  对象
  const provinceKey = element.province //该条数据中的省字段
  // 判断空对象中是否有该属性,有key值存在就push
  if (provinceObj[provinceKey]) {
    
    
    provinceObj[provinceKey].push(element)
  } else {
    
    
    // key值不存在就新建一个key和value
    provinceObj[provinceKey] = [element]  //[element] 将该条数据放进数组
  }
}
console.log(provinceObj)

结果一样的
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53125679/article/details/125498674