0
Ich habe Daten mit Kindern, ich muss Element nach Name finden und den Pfad zu Element drucken. Ich habe Suchfunktionen geschrieben, die das Element finden, aber nicht mit PATH umgehen können. Wo soll ich damit umgehen? Wie kann ich einen Pfad hinzufügen oder entfernen?Finden Sie Wert in JSON Baum und geben Sie den Pfad
let data = {
type: "folder",
name: "animals",
children: [
{
type: "folder",
name: "cat",
children: [
{
type: "folder",
name: "images",
children: [
{
type: "file",
name: "cat001.jpg"
}, {
type: "file",
name: "cat002.jpg"
}
]
},
{
type: "folder",
name: "images",
children: [
{
type: "file",
name: "cat001.jpg"
}, {
type: "file",
name: "cat002.jpg"
}
]
}
]
},
{
type: "folder",
name: "dog",
children: [
{
type: "folder",
name: "images",
children: [
{
type: "file",
name: "dog001.jpg"
}, {
type: "file",
name: "dog002.jpg"
}
]
}
]
},
{
type: "file",
name: "horse.png"
},
{
type: "file",
name: "bear.png"
},
{
type: "file",
name: "horse.png"
}
]
};
search(data, name, path = "") {
if (data.name == name) {
let path = [data.name];
return path;
} else if (data.children != null) {
let result = null;
for (let i = 0; result == null && i < data.children.length; i++) {
result = this.search(data.children[i], name);
}
return result;
}
return null;
}