Сравнить 2 поля массивов объектов
Имеется 2 массива объектов, один большой, второй маленький. У объектов большого массива имеются поля id, ЗНАЧЕНИЯ которых я должен сравнить со ЗНАЧЕНИЯМИ полей type, которые имеется у вложенных объектов маленького массива. Если найдется совпадение, то поля name из большого массива объектов вывести на экран. Подскажите, как элегантно и правильно это можно сделать?
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Не уверен, правильно ли я понял исходные структуры и нужный формат вывода. Вот пример с использованием временной структуры данных, чтобы не приходилось каждый раз перебирать заново второй массив по объектам:
const array1 = [
{ id: 1, name: 'A' },
{ id: 2, name: 'B' },
{ id: 3, name: 'C' },
];
const array2 = [
{ type: 1 },
{ type: 2 },
];
const types = new Set(array2.map(({ type }) => type));
for (const { id, name } of array1) {
if (types.has(id)) console.log(name);
}