Kopiowanie tablicy według wartości

Podczas kopiowania tablicy w JavaScript do innej tablicy:

var arr1 = ['a','b','c'];
var arr2 = arr1;
arr2.push('d');  //Now, arr1 = ['a','b','c','d']

Uświadomiłem sobie, że arr2 odnosi się do tej samej tablicy co arr1, a nie do nowej, niezależnej tablicy. Jak mogę skopiować tablicę, aby uzyskać dwie niezależne tablice?

1 odpowiedź

Użyj:

var newArray = oldArray.slice();

Zasadniczo operacja slice () klonuje tablicę i zwraca odwołanie do nowej tablicy.

Pamiętaj również, że w przypadku odniesień, ciągów i liczb (a nie rzeczywistego obiektu), slice () kopiuje odwołania do obiektu do nowej tablicy. Zarówno oryginalna, jak i nowa tablica odnoszą się do tego samego obiektu. Jeśli obiekt odniesienia się zmieni, zmiany będą widoczne zarówno dla nowych, jak i oryginalnych tablic.

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.