1

Тема: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

const arr = [
    {
        "Автори": [
            { "Фамілія": "Горобець", "Ініціали": "В. Г." },
            { "Фамілія": "Ободович", "Ініціали": "О. М." },
            { "Фамілія": "Сидоренко", "Ініціали": "В. В." }
        ],
        "Назва доповіді": "Попередня підготовка лігноцелюлозної сировини до гідролізу із застосуванням роторно-пульсаційного апарата"
    },
    {
        "Автори": [
            { "Фамілія": "Булій", "Ініціали": "Ю. В." },
            { "Фамілія": "Ободович", "Ініціали": "О. М." }
        ],
        "Назва доповіді": "Дослідження делігніфікації соломи пшениці в ротаційно- пульсаційному апараті"
    },
    {
        "Автори": [
            { "Фамілія": "Obodovych", "Ініціали": "O. M." },
            { "Фамілія": "Tselen", "Ініціали": "B. Ya." },
            { "Фамілія": "Sydorenko", "Ініціали": "V. V." },
            { "Фамілія": "Ivanytskyi", "Ініціали": "H. K." },
            { "Фамілія": "Radchenko", "Ініціали": "N. L." }
        ],
        "Назва доповіді": "Discrete-pulse energy input and its implementation in water treatment technology"
    }
];
const name = [ 'Сидоренко', 'Sydorenko' ];

2

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

Яка ще фамілія, може прізвище ?

Подякували: leofun01, flatliner2

3

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

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 написав:

Яка ще фамілія, може прізвище ?

В світі майже всюди фамілія (сімя, родина) і тільки в Україні в паспорт пишуть прізвище (прізвисько). З рештою, шо імя, шо прізвище .. і одне і друге нам навязуйуть без нашої згоди.

Подякували: luken1

4

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

Прихований текст

в сраці я мав весь світ, в Україні буде так, як має бути в Україні

5

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

офтоп
leofun01 написав:

В світі майже всюди фамілія (сімя, родина) і тільки в Україні в паспорт пишуть прізвище (прізвисько).

Англійська: surname
Французька: nom (а ім'я - prénom)
Німецька: Nachname
Італійська: cognome
Польська: nazwisko
Чеська: příjmení

Я розумію, що коли московит бачить, що в українській щось не так, як у них, то автоматично вмикається механізм "поставити хохла на місце", бо "у всьому світі має бути так, як на москві". Але от нахуя цю маячню повторювати?

Подякували: leofun01, wander, FakiNyan, flatliner4

6

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

офтоп
koala написав:

Англійська: surname
Французька: nom (а ім'я - prénom)
Німецька: Nachname
Італійська: cognome
Чеська: příjmení

Імя [, перед-*, після-*] - це норм.

koala написав:

Польська: nazwisko

А це прям як в нас.

koala написав:

Я розумію, що коли московит бачить, що в українській щось не так, як у них, то автоматично вмикається механізм "поставити хохла на місце"

Не збирався "ставити когось на місце".

koala написав:

бо "у всьому світі має бути так, як на москві".

От халепа, перевірив джерела .. дійсно, я дурна скотина, пішов вбивати в собі залишки москаля.
Дозволяю забанити мене за поширеня не правдивої інфо.

Подякували: FakiNyan1

7

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

Прихований текст

В світі майже всюди фамілія (сімя, родина) і тільки в Україні в паспорт пишуть прізвище (прізвисько).

Спадок Речі Посполитої. У старі часи прізвисько (не успадковане від батьків, а отримане за життя) могло використовуватись офіційно як частина повного імені людини. У наш час українські прізвища є родинними, але назва залишилась.

Подякували: leofun01, FakiNyan2

8

Re: вивести тільки ті елементи масиву arr, в яких є елементи масиву name

const arr = [
  {
    Автори: [
      { прізвище: "Горобець", Ініціали: "В. Г." },
      { прізвище: "Ободович", Ініціали: "О. М." },
      { прізвище: "Сидоренко", Ініціали: "В. В." },
    ],
    "Назва доповіді":
      "Попередня підготовка лігноцелюлозної сировини до гідролізу із застосуванням роторно-пульсаційного апарата",
  },
  {
    Автори: [
      { прізвище: "Булій", Ініціали: "Ю. В." },
      { прізвище: "Ободович", Ініціали: "О. М." },
    ],
    "Назва доповіді":
      "Дослідження делігніфікації соломи пшениці в ротаційно- пульсаційному апараті",
  },
  {
    Автори: [
      { прізвище: "Obodovych", Ініціали: "O. M." },
      { прізвище: "Tselen", Ініціали: "B. Ya." },
      { прізвище: "Sydorenko", Ініціали: "V. V." },
      { прізвище: "Ivanytskyi", Ініціали: "H. K." },
      { прізвище: "Radchenko", Ініціали: "N. L." },
    ],
    "Назва доповіді":
      "Discrete-pulse energy input and its implementation in water treatment technology",
  },
];
const names = ["Сидоренко", "Sydorenko"];

function filterByLastname(arr, names) {
  return arr.filter((item) =>
    item.Автори.some((author) => names.includes(author.прізвище)),
  );
}

const result = filterByLastname(arr, names);
Подякували: leofun011