luken написав:вивести тільки ті елементи масиву arr, в яких є елементи масиву name
Для обйектів:
const arr = [
{
authors: [
{ name: 'Горобець', initials: 'В. Г.' },
{ name: 'Ободович', initials: 'О. М.' },
{ name: 'Сидоренко', initials: 'В. В.' }
],
title: 'Попередня підготовка лігноцелюлозної сировини до гідролізу із застосуванням роторно-пульсаційного апарата'
},
{
authors: [
{ name: 'Булій', initials: 'Ю. В.' },
{ name: 'Ободович', initials: 'О. М.' }
],
title: 'Дослідження делігніфікації соломи пшениці в ротаційно- пульсаційному апараті'
},
{
authors: [
{ name: 'Obodovych', initials: 'O. M.' },
{ name: 'Tselen', initials: 'B. Ya.' },
{ name: 'Sydorenko', initials: 'V. V.' },
{ name: 'Ivanytskyi', initials: 'H. K.' },
{ name: 'Radchenko', initials: 'N. L.' }
],
title: 'Discrete-pulse energy input and its implementation in water treatment technology'
}
];
const names = [ 'Сидоренко', 'Sydorenko' ];
Фільтр буде такий:
arr.filter(
function(obj) {
return obj.authors !== undefined &&
Array.isArray(obj.authors) &&
0 <= obj.authors.findIndex(
function(o) {
return !names.every(
function(s) {
return o.name !== s;
}
);
}
);
}
);
В нових версіях JavaScript можна коротко
arr.filter(
obj => 0 <= obj.authors.findIndex(
o => !names.every(
s => o.name !== s
)
)
);
▼офтоп
FakiNyan написав:Яка ще фамілія, може прізвище ?
В світі майже всюди фамілія (сімя, родина) і тільки в Україні в паспорт пишуть прізвище (прізвисько). З рештою, шо імя, шо прізвище .. і одне і друге нам навязуйуть без нашої згоди.