renovations
This commit is contained in:
parent
4b8b168fd2
commit
c7d4c7e3ff
172 changed files with 869 additions and 244 deletions
24
1-js/4-data-structures/7-array/6-item-value/solution.md
Normal file
24
1-js/4-data-structures/7-array/6-item-value/solution.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
|
||||
|
||||
```js
|
||||
//+ run
|
||||
var arr = [1,2,3];
|
||||
|
||||
var arr2 = arr; // (*)
|
||||
arr2[0] = 5;
|
||||
|
||||
alert(arr[0]);
|
||||
alert(arr2[0]);
|
||||
```
|
||||
|
||||
Код выведет `5` в обоих случаях, так как массив является объектом. В строке `(*)` в переменную `arr2` копируется ссылка на него, а сам объект в памяти по-прежнему один, в нём отражаются изменения, внесенные через `arr2` или `arr`.
|
||||
|
||||
В частности, сравнение `arr2 == arr` даст `true`.
|
||||
|
||||
Если нужно именно скопировать массив, то это можно сделать, например, так:
|
||||
|
||||
```js
|
||||
var arr2 = [];
|
||||
for(var i=0; i<arr.length; i++) arr2[i] = arr[i];
|
||||
```
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue