JavaScript - 配列を複製する

配列の複製

配列を複製する場合に注意しなければならない点は、参照渡し値渡しを区別することです。JavaScript では、配列はオブジェクトのひとつであり、オブジェクトは参照渡しになります。

var arr1 = [0, 1, 2, 3, 4];

// arr2 に arr1 を代入 (参照渡し)
var arr2 = arr1;

// arr2 を変更
arr2[1] = 5;

// arr1 も変更される
console.log(arr1); // [0, 5, 2, 3, 4]
console.log(arr2); // [0, 5, 2, 3, 4]
配列の複製

配列の値渡しを行うには、以下のように記述します。

var arr1 = [0, 1, 2, 3, 4];

// concat を用いた代入
var arr2 = arr1.concat();

// arr2 を変更
arr2[1] = 5;

// arr2 のみ変更される
console.log(arr1); // [0, 1, 2, 3, 4]
console.log(arr2); // [0, 5, 2, 3, 4]


// slice を用いた代入
var arr3 = arr1.slice(0);

// arr3 を変更
arr3[1] = 5;

// arr3 のみ変更される
console.log(arr1); // [0, 1, 2, 3, 4]
console.log(arr3); // [0, 5, 2, 3, 4]
配列の複製

関連記事

Category:
プログラミング
公開日:
更新日:
Pageviews:
4
Shares:
1
Tag:
JavaScript
コードレシピ