ant-design-vue,级联选择器,选中的key,格式处理
后端想要的格式为
params = [
{
"id": "DW202309271483",
"child": []
},
{
"id": "DW202309271848",
"child": []
},
{
"id": "DW202309271052",
"child": [
"DW202309271060",
"DW202309271961",
"DW202309271987"
]
},
{
"id": "DW202309271591",
"child": []
},
{
"id": "DW202309271823",
"child": []
},
{
"id": "DW202309271762",
"child": []
}
]
let arr = [
["DW202309271483"],
["DW202309271848"],
["DW202309271052", "DW202309271060"],
["DW202309271052", "DW202309271961"],
["DW202309271052", "DW202309271987"],
["DW202309271591"],
["DW202309271823"],
["DW202309271762"]
];
// 创建一个空对象来存储每个父项的引用
let map = {};
// 创建一个空数组来存储结果
let result = [];
// 遍历数组
for (let i = 0; i < arr.length; i++) {
let parentId = arr[i][0];
// 如果这个父项还没被添加过,就添加到结果中
if (!map[parentId]) {
let parent = { id: parentId, child: [] };
result.push(parent);
map[parentId] = parent;
}
// 遍历子项,并添加到对应的父项中,同时进行去重处理
for (let j = 1; j < arr[i].length; j++) {
let childId = arr[i][j];
if (!map[parentId].child.includes(childId)) {
map[parentId].child.push(childId);
}
}
}
console.log(result);