陣列拆分重組
阿新 • • 發佈:2021-12-09
獲取到的陣列格式為:
let arr = [
{
data: [{ num: "111" }, { num: "222" }, { num: "333" }],
name: "張三",
},
{
data: [{ num: "444" }, { num: "555" }],
name: "李四",
},
{
data: [{ num: "777" }],
name: "王五",
},
];
期望資料格式:
[{"num":"111","name":"張三"},{"num":"222","name":"張三"},{"num":"333","name":"張三"},{"num":"444","name":"李四"},{"num":"555","name":"李四"},{"num":"777","name":"王五"}]
用下面方法改造陣列格式:
getList() { let list = []; let arr = [ { data: [{ num: "111" }, { num: "222" }, { num: "333" }], name: "張三", }, { data: [{ num: "444" }, { num: "555" }], name: "李四", }, { data: [{ num: "777" }], name: "王五", }, ]; let tempArr = []; for (let i = 0; i < arr.length; i++) { let arrData = arr[i].data; if (arrData != undefined && arrData != "" && arrData != null) { for (let j = 0; j < arrData.length; j++) { arrData[j].name = arr[i].name; // arrData有資料的,取出資料並拼接 tempArr.push(...arrData); } } else { // arrData無資料的,賦預設值 tempArr.push(arr[i]); } } // 去重 list = [...new Set(tempArr)]; console.log("list", list); },