Сравнить обычный массив с массивом объектов
Есть два массива. Нужно сравнить элементы второго массива с индексами каждого объекта из первого. Если есть совпадение, то записать в новый массив значение поля name из первого массива.
Подскажите, как это сделать?

const arr1 = [
{id: 28, name: "Action"},
{id: 12, name: "Adventure"},
{id: 16, name: "Animation"},
{id: 35, name: "Comedy"},
{id: 80, name: "Crime"},
{id: 99, name: "Documentary"},
{id: 18, name: "Drama"},
{id: 10751, name: "Family"},
{id: 14, name: "Fantasy"},
{id: 36, name: "History"},
{id: 27, name: "Horror"},
{id: 10402, name: "Music"},
{id: 9648, name: "Mystery"},
{id: 10749, name: "Romance"},
{id: 878, name: "Science Fiction"},
{id: 10770, name: "TV Movie"},
{id: 53, name: "Thriller"},
{id: 10752, name: "War"},
{id: 37, name: "Western"}
]
const arr2 = [28, 12, 80]
То еть в итоге должен выйти массив arr = ['Action', 'Adventure', 'Comedy']
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
const arr1 = [
{id: 28, name: "Action"}, {id: 12, name: "Adventure"}, {id: 16, name: "Animation"},
{id: 35, name: "Comedy"}, {id: 80, name: "Crime"}, {id: 99, name: "Documentary"},
{id: 18, name: "Drama"}, {id: 10751, name: "Family"}, {id: 14, name: "Fantasy"},
{id: 36, name: "History"}, {id: 27, name: "Horror"}, {id: 10402, name: "Music"},
{id: 9648, name: "Mystery"}, {id: 10749, name: "Romance"}, {id: 878, name: "Science Fiction"},
{id: 10770, name: "TV Movie"}, {id: 53, name: "Thriller"}, {id: 10752, name: "War"},
{id: 37, name: "Western"}
]
const arr2 = [28, 12, 80];
let filteredNames = arr1
.filter(el => arr2.includes(el.id))
.map(el => el.name);
console.log(filteredNames);