Изменение значения массива изменяет исходный массив JavaScript

Следующий код заставляет оба элемента из id 0 быть установленными на - , хотя я хочу, чтобы только один был установлен на -1 . Я просто создаю ссылку на labelArray или что-то еще?

labelArray.sort(compare);
valueArray = labelArray;
valueArray[0] = '-1';
labelArray[0] = '-';

Любая помощь приветствуется.

ОБНОВЛЕНИЕ (2019): Прошло несколько лет с тех пор, как я впервые опубликовал этот пост, и ES6 используется почти повсеместно. Итак, я хотел вернуться и добавить, что вместо использования метода slice () , рекомендованного в принятом ответе, вы можете вместо этого использовать разрушающий массив в следующее, чтобы сделать копию:

valueArray = [...labelArray];

5
задан OpensaurusRex 14 October 2019 в 16:30
поделиться