例1
var arr = [ ???{ ???????date: "2018-01-10", ???????time: "11:00" ???}, ???, ???{ ???????date: "2018-01-10", ???????time: "12:00" ???}, ???{ ???????date: "2018-11-27", ???????time: "1:00、2:00", ???}, ???{ ???????date: "2018-11-27", ???????time: "3:00、4:00" ???}, ???{ ???????date: "2018-01-10", ???????time: "5:00" ???}];
// 输出 ?[ { date: "2018-11-27", time: "1:00、2:00、3:00、4:00" }, { date: "2017-01-10", time: "5:00" } ]
----------------------------------------------------------------------------------------------------------
var res = arr.reduce((pre, cur)=> { ???let i = pre.findIndex(v=> v.date===cur.date) ???if(i>-1){ ???????pre[i].time = [pre[i].time, cur.time].join(‘、‘) ???}else{ ???????pre.push(cur) ???} ???return pre}, [])console.log(res)
例2
var arr1 = [{id: 1,name: ‘小明‘}, {id: 2,name: ‘小强‘}];var arr2 = [{id: 1,age: 10}, {id: 2, age: 20}];// 输出 ?[{id: 1, name: ‘小明‘, age: 10}, {id: 2,name: ‘小强‘, age: 20}]----------------------------------------------------------------------------------------------------------var res = arr2.reduce((pre, cur)=> { ???let same = arr1.find(v=> v.id===cur.id) ???pre.push(Object.assign({}, cur, same)) ???return pre}, [])console.log(res)
js处理想要得到数据结构
原文地址:https://www.cnblogs.com/musi03/p/10034137.html