原始数据
var oldData = [{ time: '00:01' },{ time: '00:02' },{ time: '00:03' },{ time: '00:04' }]
需要把对象的一对一对进行合并
最终如下
var ret = [{time1: '00:01', time2: '00:02'},{time1: '00:03', time2: '00:04'}]
感觉不难,但是,,,就是写不出来,还请帮助
对了,数据肯定是成对成对的,不用考虑会有单个的问题
已解决
悬赏分:30
- 解决时间 2022-01-17 07:36
点赞 0反对 0举报 0
收藏 0
分享 0
回答3
最佳
-
console.log(convertData(oldData)) function convertData (list) { let res = [] for(let a = 0; a < list.length; a+=2) { res.push({ time1: list[a].time, time2: list[a + 1].time }) } return res }
支持 0 反对 0 举报2022-01-16 15:09
-
提供个 Reduce 解法:
oldData.reduce((acc, cur, idx) => { if (idx === 0) { acc = []; } if (idx % 2 === 0) { acc.push({ time1: cur.time }); } else { acc[acc.length - 1].time2 = cur.time; } return acc; }, 0);
支持 0 反对 0 举报2022-01-16 15:23
-
var oldData = [{ time: '00:01' },{ time: '00:02' },{ time: '00:03' },{ time: '00:04' },{ time: '00:01' },{ time: '00:02' },{ time: '00:03' },{ time: '00:04' }] oldData.reduce((result, item, i)=>{ if(i%2==0) return result; const newItem = { time1: oldData[i-1].time, time2: item.time }; result.push(newItem); return result; },[])
支持 0 反对 0 举报2022-01-16 15:36