2014-11-26 1 views
1

Просто мысленный эксперимент .. нет случай использованияфункция для копирования массива, который может влиять на исходный массив?

Concat документы

Примечание: Конкатенация массива (s)/значение (s) оставит оригиналы нетронутыми. Кроме того, любая операция над новым массивом не будет влиять на исходные массивы и наоборот.

Есть ли функция, чтобы сделать копию массива, который мог иметь влияние на оригинальные массивы, и наоборот?

пример:

var data = [1,2,3] 
var copyData = makeCopy(data); 

, если данные изменения так же CopyData и наоборот.

что было бы практичным прецедентом для этого?

+1

«Есть функция, чтобы сделать копию массива, который мог бы влиять на исходные массивы»: Нет. Практический пример использования для передачи по ссылке вместо копии? В каждом случае использования – filur

ответ

2

После того, как вы сделаете копию на массив, это никогда не повлияет на исходный массив.

Однако это не относится к тому, на что указывает массив, что может быть объектами.

+0

вы могли бы объяснить больше о том, на что указывает массив? и почему это имеет значение, если оно указывает на «объект»? Я вроде как ботаник с javascript. –

+0

@MatthewHarwood Значение объекта является ссылкой на него или указателем, как на C. Так что если у вас было два массива, которые имели ссылку на один и тот же объект, изменение его посредством ссылки в одном будет означать вторую ссылку (которая указывает на то же самое) также будет * видеть *, что изменение. – alex

Смежные вопросы