打印结果
一维数组:
转成 3维后:
dataChange(arr) {
let keys = Object.keys(arr[0]);
let level1 = keys[0]; //获取一级属性名称
let level2 = keys[1]; //获取二级属性名称
let level3 = keys[2]; //获取三级属性名称
let level4 = keys[3]; //获取4级属性名称
let level5 = keys[4]; //获取5级属性名称
let list = Array.from(
new Set(
arr.map((item) => {
return item[level1];
})
)
);
let subList = [];
list.forEach((res) => {
arr.forEach((ele) => {
if (ele[level1] === res) {
let nameArr = subList.map((item) => item.itemName);
if (nameArr.indexOf(res) !== -1) {
let nameArr2 = subList[nameArr.indexOf(res)].childItem.map(
(item) => item.itemName
);
if (nameArr2.indexOf(ele[level2]) !== -1) {
subList[nameArr.indexOf(res)].childItem[
nameArr2.indexOf(ele[level2])
].childItem.push({
firstItemName: ele[level1],
secondItemName: ele[level2],
thirdItemName: ele[level3],
detectionResult: ele[level4],
detectionExplain: ele[level5],
});
} else {
subList[nameArr.indexOf(res)].childItem.push({
itemName: ele[level2],
childItem: [
{
firstItemName: ele[level1],
secondItemName: ele[level2],
thirdItemName: ele[level3],
detectionResult: ele[level4],
detectionExplain: ele[level5]
},
],
});
}
} else {
subList.push({
itemName: res,
childItem: [
{
itemName: ele[level2],
childItem: [
{
firstItemName: ele[level1],
secondItemName: ele[level2],
thirdItemName: ele[level3],
detectionResult: ele[level4],
detectionExplain: ele[level5],
},
],
},
],
});
}
}
});
});
return subList;
},