Заранее спасибо. Я имею массив ниже и пытаюсь работать с фильтром массива в javascript.
[{ID: 16,ItemName: "SomeData 1", children : []},
{ID: 19,ItemName: "SomeData 2", children : [{ID: 51,ItemName: "SomeData 3"},{ID: 41,ItemName: "SomeData 4"},{ID: 16,ItemName: "SomeData 5"}]}
{ID: 14, ItemName: "SomeData 4", children : [{ID: 21,ItemName: "SomeData 9"}]}]
Если я ищу SomeData 4 , то при использовании фильтра это должно вернуть мне что-то вроде
[{ID: 19,ItemName: "SomeData 2", children : [{ID: 41,ItemName: "**SomeData 4**"}]}
{ID: 14, ItemName: "**SomeData 4**", children : [{ID: 21,ItemName: "SomeData 9"}]}]
Q1) Что, если ключевые слова для поиска совпадают с любым объектом в потомке, они должны возвращать включающее родительское содержимое. Даже если он совпадает с parent, тогда он должен вернуть parent и child. (Я сделал с этой частью)
const filteredContent = ItemsList.filter(item => {
return item.ItemName.indexOf(value) !== -1;
});
Может кто-нибудь может предложить лучший способ извинить Q1