MOCK数据
let arr1 = [
{ id: 1, prelist: [{ a: 1, b: 2 }] },
{ id: 2, prelist: [{ a: 1, b: 2 }] },
{ id: 3, prelist: [{ a: 1, b: 2 }] },
];
let arr2 = [
{ ids: 1, list: [{ c: 1, d: 2 }] },
{ ids: 2, list: [{ c: 1, d: 2 }] },
{ ids: 3, list: [{ c: 1, d: 2 }] },
];
方式一: 利用map和扩展运算符
let lmyArr = [];
let lmyObj = {};
const newArr = arr1.map((item1) => {
arr2.map((item2) => {
if (item1.id === item2.ids) {
const a = item1.prelist;
const b = item2.list;
item1.lmyList = [...a, ...b];
lmyObj[item1.id] = [...a, ...b];
}
});
return item1;
});
console.log('newArr', newArr);
console.log('lmyObj', lmyObj);
方式一: 利用for循环
function getMix(arr1: any, arr2: any) {
for (let i = 0; i < arr2.length; i++) {
for (let j = 0; j < arr1.length; j++) {
if (arr2[i].ids == arr1[j].id) {
arr1[i].prelist.push(...arr2[i].list);
}
}
}
console.log('arr1', arr1);
return arr1;
}
function transObj(arr: any) {
const obj = {};
arr.map((item: any) => {
obj[item.id] = item.prelist;
})
console.log('obj---', obj);
return obj;
}