Есть два массива:
const arr1 = [{
id: '1',
name: 'arr 1 name 1'
}, {
id: '2',
name: 'arr 1 name 2'
}, {
id: '3',
name: 'arr 1 name 3'
}];
const arr2 = [{
id: '3',
name: 'arr 2 name 3'
}, {
id: '4',
name: 'arr 2 name 4'
}, {
id: '5',
name: 'arr 2 name 5'
}];
const arr3 = arr1.filter((el) => el.id === arr2.map((el) => el.id));
console.log(arr3);
Нужно отфильтровать из arr1
только те объекты, которые совпадают по id
с arr2
. И результат этой фильтрации положить в arr3
. Можно это как-то сделать, желательно без цикла? В данном примере должно вывести только id: '3'
, т.к. он совпадает. Но почему-то он его туда не включает...
Почитать про some
: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/some
const arr1 = [{
id: '1',
name: 'arr 1 name 1'
}, {
id: '2',
name: 'arr 1 name 2'
}, {
id: '3',
name: 'arr 1 name 3'
}];
const arr2 = [{
id: '3',
name: 'arr 2 name 3'
}, {
id: '4',
name: 'arr 2 name 4'
}, {
id: '5',
name: 'arr 2 name 5'
}];
// Используем some вместо map
const arr3 = arr1.filter((el) => arr2.some((el2) => el2.id === el.id));
console.log(arr3);
Виртуальный выделенный сервер (VDS) становится отличным выбором
есть событие на открытие модального окнапри открытии окна у html и body должен блокироваться скролл (используем overflow:hidden), но он не работает именно...
Есть метод в классе, который должен достать из базы данных из одной таблицы текущее значение проектов, из другой таблицы их историю в разбивке...