Nested For of Loop Inside, если оператор Only сохраняет последнее значение - PullRequest
0 голосов
/ 30 ноября 2018

У меня самая странная проблема с моим вложенным циклом for в службе Angular.У меня есть служба, в которой я использую функцию ниже forEach с данными, возвращаемыми из службы.

someArr.forEach(elem => {
 //do something with elem
    if(elem['users'].length >= 1) {
      for (let user of elem['users']) {
        console.log('>>> ', user['firstName'])
        elem['userFirstName'] = user['firstName'];
        elem['userLastName'] = user['lastName'];
        this.tempArr.push(elem);
      }
    } else {
       this.tempArr.push(elem);
    }
  })

console.log регистрирует правильные имя и фамилию из внутреннего цикла for, но только последнее значение помещается в tempArr.Я думал, что использование слова let решает эту проблему закрытия.Что мне здесь не хватает?

1 Ответ

0 голосов
/ 30 ноября 2018

Вы не выдвигаете новый объект, просто еще одну ссылку на ту же самую, которую затем изменяете, когда нажимаете, используйте Object.assign({}, elem) для создания нового объекта.

...