///

配列のコピー

wrote :

配列のコピー。また同じ過ちをしてしまったので、備忘録

とりあえず実例

var a = 1;
var b = a;

a = 300;

この結果、b は 1。想定どおり。

var array_1 = [1,2,3];
var array_2 = array_1;

array_1.push(500);

この結果、array_2 は [1,2,3] ではない。array_2 は [1,3,3,500]。array_1 で配列が操作されると array_2も同様に変化する(←これに気づけなかった・・・)。

var array_1 = [1,2,3];
var array_2 = array_1;

array_1 = [4,5,6];

ちなみに、この結果、array_2 は [4,5,6] ではない。array_2 は [1,2,3]。array_1 を差し替えた段階で array_2はarray_1とは別になる。

配列のコピー

var array_1 = [1,2,3];
var array_2 = [].concat(array_1);

array_1.push(500);

この結果、array_2 は [1,2,3] 。concatを使って配列をコピーすることで、思ったとおりの操作ができるようになりました(ふー、よかったよかった)。

川上 武範(かわかみ たけのり)
1975年生。シンプルシンプルデザイン代表兼Webクリエイター。たびのとWebサイト運営責任者。

企画からサイト設計、正しいマークアップを意識したWebサイト制作やユーザー視点の情報設計を得意としている。

シンプルシンプルデザイン
たびのと
twitter : たけたけ@OnlyTwo

メディア掲載
2016年10月25日 レバテックフリーランスの記事「自作Webサービス記事紹介まとめ」でサイト内の記事「Webサービス「たびのとTOKYO」を作ってみました」を紹介していただきました。