Имеется следующая структура данных
const list = [
{
title: 'Section One',
data: [
{
title: 'Ay',
},
{
title: 'Bx',
},
{
title: 'By',
},
{
title: 'Cx',
},
],
},
{
title: 'Section Two',
data: [
{
title: 'Ay',
},
{
title: 'Bx',
},
{
title: 'By',
},
{
title: 'Cx',
},
],
},
];
Что я хочу сделать, это отфильтровать этот список на основе свойства заголовка в массиве данных каждого объекта. В качестве примера можно привести список, в котором свойство title дочерних элементов начинается с «B», поэтому список будет выглядеть так:
const filteredList = [
{
title: 'Section One',
data: [
{
title: 'Bx',
},
{
title: 'By',
}
],
},
{
title: 'Section Two',
data: [
{
title: 'Bx',
},
{
title: 'By',
}
],
},
];
То, что я до сих пор пробовал, было примерно таким:
const items = list.filter(item =>
item.data.find(x => x.title.startsWith('A')),
);
или
const filtered = list.filter(childList => {
childList.data.filter(item => {
if (item.title.startsWith('B')) {
return item;
}
return childList;
});
});
Но я думаю, что здесь не хватает основного момента, может быть, некоторые из вас могли бы дать мне совет или намек на то, что я делаю неправильно
С наилучшими пожеланиями