Я хотел бы найти по определенному ключу на вложенном массиве/объекте на javascript и вернуть всю структуру иерархии, включить его родительский элемент до родительского корня, а также его дочерний элемент. Вот пример JSON:поиск по определенному ключу вложенного объекта/массива javascript
let array = [
{
"no": "1",
"name": "abc",
"child" : [
{
"no": "1.1",
"name": "def",
"child" : [
{
"no": "1.1.1",
"name": "Foo"
},
{
"no": "1.1.2",
"name": "jkl"
}
]
},
{
"no": "1.2",
"name": "Foo",
"child" : [
{
"no": "1.2.1",
"name": "Foo"
},
{
"no": "1.2.2",
"name": "aaaaaaa"
}
]
}
]
},
{
"no": "2",
"name": "abc2",
"child" : [
{
"no": "2.1",
"name": "Foo",
"child" : [
{
"no": "1.1.1",
"name": "ghi"
},
{
"no": "1.1.2",
"name": "jkl"
}
]
},
{
"no": "2.2",
"name": "ghssssi",
"child" : [
{
"no": "2.2.1",
"name": "ghssssi"
},
{
"no": "2.2.2",
"name": "asass"
}
]
}
]
}
];
И когда мы хотим искать по ключевым = «Foo», то результат будет что-то вроде этого:
array_result = [
{
"no": "1",
"name": "abc",
"child" : [
{
"no": "1.1",
"name": "def",
"child" : [
{
"no": "1.1.1",
"name": "Foo"
}
]
},
{
"no": "1.2",
"name": "Foo",
"child" : [
{
"no": "1.2.1",
"name": "Foo"
}
]
}
]
},
{
"no": "2",
"name": "abc2",
"child" : [
{
"no": "2.1",
"name": "Foo",
"child" : [
{
"no": "1.1.1",
"name": "ghi"
},
{
"no": "1.1.2",
"name": "jkl"
}
]
}
]
}
];
Я уверен, что это нужно будет рекурсивным функция. Кто-нибудь понял? Спасибо!
Что вы пробовали себя до сих пор? Покажите нам свой код, чтобы кто-то мог указать на проблему. Это не то место, где можно получить полные ответы на код. – MeanGreen
Вы хотите получить копию исходных данных без изменения оригинала? –