javascript - Hur kan jag kopiera en nyckel i en trädstruktur till en nyckel med ett annat namn eller byta namn på den till något annat?
Hur kan jag kopiera en nyckel i en trädstruktur till en nyckel med ett annat namn eller byta namn på den till något annat?
Från detta:
[
{
"title":"testing",
"id":1,
"children":[
{
"title":"Preamble",
"id":2
}
]
}
]
Till detta:
[
{
"title":"testing",
"label":"testing",
"id":1,
"key":1,
"children":[
{
"title":"Preamble",
"label":"Preamble",
"id":2,
"key":2
}
]
}
]
I den här är etiketten en kopia av titeln och nyckeln en kopia av id.
eller detta:
[
{
"label":"testing",
"key":1,
"children":[
{
"label":"Preamble",
"key":2
}
]
}
]
i den här har titeln bytts ut till etikett och id till nyckel.
Trädstrukturen kan ha många noder/barn.
Svar #1
Du skulle kunna använda en kartläggningsfunktion som också kartlägger barnen.
const
newStructure = ({ title, label = title, id, key = id, children }) => ({
title, label, id, key,
...(children && { children: children.map(newStructure) })
}),
data = [{ title: "testing", id: 1, children: [{ title: "Preamble", id: 2 }] }],
result = data.map(newStructure);
console.log(result);.as-console-wrapper { max-height: 100% !important; top: 0; }