Глубоко скопируйте массив в Угловых 2 + TypeScript

У меня есть массив объектов, который является входом. Позволяет называют его content.

При попытке глубоко скопировать его, он все еще имеет ссылку на предыдущий массив.

Я должен копировать тот входной массив и изменить одно свойство дублированной части.

Так долго я пробовал различные методы, которые не были успешны.

ES6 путь:

public duplicateArray() {
  arr = [...this.content]
  arr.map((x) => {x.status = DEFAULT});
  return this.content.concat(arr);
}

slice путь:

public duplicateArray() {
  arr = this.content.slice(0);
  arr.map((x) => {x.status = DEFAULT});
  return this.content.concat(arr);
}

В них обоих все объекты в массиве имеют status: 'Default'.

Что лучший подход должен глубоко скопировать массив в Угловых 2?

61
задан 19 February 2016 в 14:33

1 ответ

let newArr = arr.slice();

Это - то, как в JS массивы копируются. Никакая потребность думать о чем-то новом!

1
ответ дан 31 October 2019 в 14:55

Другие вопросы по тегам:

Похожие вопросы: