原始数据 let arr = [{id:'1', xm:'aa', lx:'tw'}, {id:'1', xm:'aa', lx:'yp'}, {id:'2', xm:'bb', lx:'tw'}, {id:'3', xm:'cc', lx:'sp'}]
处理原始数据,将id相同的元素中不同的项目组成新数组 arr.forEach(it => { var oldObj = { id: it.id, xm: it.xm, wzlx:[] } // var lx = { // lx: it.lx, // } var lx = it.lx oldObj.wzlx.push(lx) oldData.push(oldObj) })
删除id相同的元素,保留唯一一个id元素 var newData = [] var newObj = {} oldData.forEach((item, i) => { console.log(newObj[item.id]) if (!newObj[item.id]) { newData.push(item) newObj[item.id] = true } else { newData.forEach(el => { if (el.id === oldData[i].id) { el.wzlx = el.wzlx.concat(oldData[i].wzlx) } }) } }) 输出处理后的数据 console.log(newData)