terrykon
@terrykon

Как произвести перебор двух массивов объектов и внести изменение в первый массив совпадающих объектов?

Как при сравнении двух массивов объектов внести изменения в первый массив совпадающих объектов?
Например, в foundMovies изменить status на true у тех, кто находится в массиве объектов nominates

const foundMovies = [
  {title: 'IronMan', year: '2010', id: '1234', status: false},
  {title: 'Text Me If You Can', year: '2014', id: '2345', status: false},
  {title: 'Wrong Way', year: '2012', id: '3456', status: false},
  {title: 'Blizzard', year: '2011', id: '4567', status: false},
];

const nominates = [
  {title: 'Text Me If You Can', year: '2014', id: '2345'},
  {title: 'Wrong Way', year: '2012', id: '3456'}
];
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
coderisimo
@coderisimo Куратор тега JavaScript
console.log(
  foundMovies.map((i) =>
    nominates.some( (z) => z.id === i.id && z.title === i.title && z.year === i.year ) ? { ...i, ...{ status: true } }  : i  ));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Steppp
Думаю есть более простой способ! Но это что первое пришло в голову

const foundMovies = [
    {title: 'IronMan', year: '2010', id: '1234', status: false},
    {title: 'Text Me If You Can', year: '2014', id: '2345', status: false},
    {title: 'Wrong Way', year: '2012', id: '3456', status: false},
    {title: 'Blizzard', year: '2011', id: '4567', status: false},
  ];
  
const nominates = [
    {title: 'Text Me If You Can', year: '2014', id: '2345'},
    {title: 'Wrong Way', year: '2012', id: '3456'},
];

for (let elMovies in foundMovies) {
    for (let elNominates in nominates) {
        if (foundMovies[elMovies].title === nominates[elNominates].title &&
        foundMovies[elMovies].year === nominates[elNominates].year &&
        foundMovies[elMovies].id === nominates[elNominates].id) {

            foundMovies[elMovies].status = true;
        }
    }
}

console.log(foundMovies);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы