1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| const list = [ { name: "Tom", age: "25", team: "A", item: "SSR", itemNum: "300", }, { name: "Tom", age: "25", team: "A", item: "SSk", itemNum: "500", }, { name: "Jim", age: "22", team: "B", item: "KKR", itemNum: "300", }, { name: "Jim", age: "22", team: "B", item: "KKS", itemNum: "500", }, ]; const finList = [ { name: "Tom", age: "25", team: "A", itemGroup: [ { item: "SSR", itemNum: "300", }, { item: "SSk", itemNum: "500", }, ], }, { name: "Jim", age: "22", team: "B", itemGroup: [ { item: "KKR", itemNum: "300", }, { item: "KKS", itemNum: "500", }, ], }, ];
function convert(list) { let arr = []; list.forEach((i, index) => { let { name, age, team, item, itemNum } = i; if (!arr[name]) { arr[name] = { name, age, team, teamGroup: [], }; } arr[name].teamGroup.push({ item, itemNum, }); }); return Object.values(arr); } let aaa = convert(list); console.log(aaa);
|