使用lodash方法对提交的数据进行分组

// 使用lodash方法对提交的数据进行分组centerWarehouseName + materialCode+toDeliverStockNum相同的进行分组
const selectRows = [
  {
    centerWarehouseName : '一组',
    materialCode : '222222', 
    materialName: '耗材一', 
    deliverStatus: '状态一',
    toDeliverStockNum: '哈哈1'
  },
  {
  centerWarehouseName : '二组', 
  materialCode : '222222', 
  materialName: '耗材一', 
  deliverStatus: '状态一',
  toDeliverStockNum: '哈哈2'
  },
  {
    centerWarehouseName : '二组', 
    materialCode : '222222', 
    materialName: '我是materialName', 
    deliverStatus: '状态不明',
    toDeliverStockNum: '哈哈2'
  }
]
const oldArr =this.$lodash.groupBy(this.selectRows, function(n) {return n.centerWarehouseName +',' + n.materialCode +',' + n.toDeliverStockNum })
const newArr = []
Object.keys(oldArr).forEach(key => {
  // 数组
  newArr.push({name: key, data: oldArr[key] })
})
//最后结果:
newArr = [
  {
    name:'一组222222哈哈1',
    data:[
        {
          materialName: '耗材一',
          deliverStatus: '状态一'
        }
      ]
  },
  {
    name:'二组222222哈哈2',
    data:[
        {
           materialName: '耗材一', 
           deliverStatus: '状态一'
        },
        {
          materialName: '我是materialName',
          deliverStatus: '状态不明'
        }
      ]
  }
]

你可能感兴趣的:(使用lodash方法对提交的数据进行分组)