数组拆分重组
获取到的数组格式为:
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);
},


浙公网安备 33010602011771号