0

配列から作成された変数は、いつ配列へのポインターとして機能し、いつ配列のコピーとして機能しますか?

たとえば、次の名前の配列がある場合Array1

a1=Array1;     

a1配列へのコピーまたはポインタです。

私が変更するa1と、それも変更されArray1ます。変更とは、値の変更、配列へのプッシュ、並べ替え、または配列を変更できるその他の方法を意味します。

ありがとう、

4

2 に答える 2

1

JavaScript の変数は、配列への参照を保持します。

変数値をarr2 = arr1でコピーすると、同じ配列への参照がコピーされます。したがって、 への変更arr2は への変更arr1です。

最初の配列を変更せずに 2 番目の配列を変更できるように、別の変数にコピーへの参照を保持させたい場合は、sliceを使用します。

var arr2 = arr1.slice();
于 2013-03-15T21:54:14.023 に答える
1

JavaScript での変数の割り当てでは、非プリミティブ( valueではないすべてのもの) のコピーは作成されません。

値以外のすべてのコピーへの代入は参照をコピーします。

于 2013-03-15T21:56:43.420 に答える