lavezzi1
@lavezzi1

Как запушить элемент в массив объекта?

this.items.forEach((item) => {
   this.teams.forEach((team) => {
      if (item.team_id === team.id) {
          // но как сделать team.items массивом в первый раз и не перезаписывать в следующих итераций? 
          team.items.push(item);
      }
  });
});
  • Вопрос задан
  • 143 просмотра
Решения вопроса 2
rework
@rework
Помог ответ? В благодарность отметь его решением
просто добавьте проверку на существование, если не существует то инициализируйте пустым массивом: team.items = team.items || []

this.items.forEach((item) => {
   this.teams.forEach((team) => {      
      if (item.team_id === team.id) {
          team.items = team.items || [];
          team.items.push(item);
      }
  });
});
Ответ написан
Комментировать
rockon404
@rockon404
Frontend Developer
Можно так:
this.items.forEach((item) => {
   this.teams.forEach((team) => {
      if (item.team_id === team.id) {
          if (team.items) {
            team.items.push(item);
          } else {
            team.items = [item];
          }
      }
  });
});

Либо предварительно:
this.teams.forEach(team => {
  team.items = [];
});

Предварительно определить будет хорошо, если массив обязательно должен быть, даже пустой.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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