У меня проблемы с lodash и deepdash, мне нужно отфильтровать дерево, сохраняя архитектуру parent / children, звучит просто, но я не могу заставить его работать
В настоящее время я фильтрую напервый уровень, он работает нормально:
let search = 'lor',
data = [{
name: 'Lorem',
id: 1,
children: [{
name: 'Ipsum',
id: 3
}, {
name: 'Dolor',
id: 5
}]
},{
name: 'Sit',
id: 2
}, {
name: 'Lorem ipsum',
id: 4
}];
let fileterdData = _.filter(data, function (o) {
return o.name.toLowerCase().includes(search);
});
Фильтры работают правильно, когда search = "lor";
Мне нужно отфильтровать на втором уровне, поэтому, если я ищу «ipsum», мне нужен отфильтрованный массив с id = 1 + его дочерний id = 3 (соответствует «ipsum») иid = 4 (соответствует «ipsum»).
Может ли кто-нибудь помочь?