背景:因获取选中的数据格式为以下数据
let data = [
{
value: "1",
label: "指南",
children: [
{
value: "2",
label: "设计原则",
children: [
{ value: "3", label: "一致" },
{ value: "4", label: "反馈" },
{ value: "5", label: "效率" },
{ value: "6", label: "可控" },
],
},
],
},
{
value: "7",
label: "其他",
children: [{ value: "8", label: "其他子项" }],
},
];
现状:需要将以上数据转换为以下数据格式
let data = [
["指南", "设计原则", "一致"],
["指南", "设计原则", "反馈"],
["指南", "设计原则", "效率"],
["指南", "设计原则", "可控"],
["其他","其他子项""]
];
function processInput(data, result = [], path = []) {
for (const item of data) {
if (item.children) {
processInput(item.children, result, [...path, item.label]);
} else {
result.push([...path, item.label]);
}
}
return result;
}
let data = [
{
value: "1",
label: "指南",
children: [
{
value: "2",
label: "设计原则",
children: [
{ value: "3", label: "一致" },
{ value: "4", label: "反馈" },
{ value: "5", label: "效率" },
{ value: "6", label: "可控" },
],
},
],
},
{
value: "7",
label: "其他",
children: [{ value: "8", label: "其他子项" }],
},
];
console.log(processInput(data));