因爲咱們的數據是後臺從數據庫讀取發送過來的,因此是個一維數組,所以以前在渲染的時候就都是散的,而我這邊想要個人數據在顯示的時候是根據其申請時間顯示的,就像商城生成的訂單那樣,一個訂單顯示多個商品,所以在這邊就須要將一維數組按照條件重組,操做以下:前端
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,一隻前端小菜雞,歡迎你們點贊,交流 ❤數據庫