根据数组对象属性分割成多个数组

坑: 最开始用遍历,遍历后结果会是以该属性为序号,且代码繁杂 后期计算也会出问题 ,特别是计算价钱
所以就有了以下:

function classify(arr){
  let obj = {}
  arr.map(v => {
    obj[v.createTime] = 0  
  })
  let timeArr = Object.keys(obj)
  console.log('timeArr', timeArr)
  let result = timeArr.map(v => {
    return {
      data: arr.filter(_v => v == _v.createTime)
    }
  })
  return result
}
var arr = [
  {unitPrice: 12, memberPrice: 10, createTime: 1562919374000 },
  {unitPrice: 12, memberPrice: 11, createTime: 1562919374000 },
  {unitPrice: 39, memberPrice: 39, createTime: 1562919399000 },
  {unitPrice: 18, memberPrice: 16, createTime: 1562919686000 },
  {unitPrice: 24, memberPrice: 24, createTime: 1562919686000 }
]
console.log(classify(arr))  

以上 Object.keys():返回对象自身的所有可枚举的属性的键名。
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

打印出来的结果如下:
根据数组对象属性分割成多个数组_第1张图片
这样就完成了 。。
以上。。

你可能感兴趣的:(js)