因为咱们的数据是后台从数据库读取发送过来的,因此是个一维数组,所以以前在渲染的时候就都是散的,而我这边想要个人数据在显示的时候是根据其申请时间显示的,就像商城生成的订单那样,一个订单显示多个商品,所以在这边就须要将一维数组按照条件重组,操做以下:前端
const a = this.data.applyList.concat(data.result);复制代码
const group = a.map(el => el.receiveTime).filter((el,i,curArr) => curArr.indexOf(el) === i)复制代码
let list = Array.from(Array(group.length)).map(() => Array(0))复制代码
a.forEach((el) => list[group.indexOf(el.receiveTime)].push(el))复制代码
由于第一步定义数组实在算不上什么操做,因此总结来说就是三行代码实现将一维数组按照条件重组为二维数组。 你们按照本身的需求套用就能够了。es6
Object.values()
方法var arrayTwo = Object.values(a.reduce((res, item) => {
res[item.receiveTime] ? res[item.receiveTime].push(item) : res[item.receiveTime] = [item];
return res;
}, {}));复制代码
这里是MiaoWu,一只前端小菜鸡,欢迎你们点赞,交流 ❤数据库