const array = [{ "title": "Carros", "data" : [{ "nome": "Mustang" }, {"nome": "Camaro"}]}];
let filteredArray = array
.filter((element) =>
element.data.some((subElement) => subElement.nome == "Mustang"))
.map(element => {
return Object.assign({}, element, {nome : element.data.filter(subElement => subElement.nome == "Mustang")});
});
filteredArray
всегда возвращает один и тот же массив, но с дочерним элементом "nome"
.
Я хочу найти слова «mus», «tang», «mustang» или «mu» и вернуть:
[{ "title": "Carros", "data" : [{ "nome": "Mustang" }]}];
то же самое, если у меня есть другой столбец, такой как:
[{ "title": "Carros", "data" : [{ "nome": "Mustang" }]},
{ "title": "Motos", "data" : [{ "nome": "Yamaha }]}];
и поиск "mustang" должен вернуть:
const array = [{ "title": "Carros", "data" : [{ "nome": "Mustang" }]},
{ "title": "Motos", "data" : [] }];
Мне нужно сохранить ту же структуру, но изменить только вложенные «данные».