配列をコピーする方法に
・ディープコピー
・シャローコピー
の2つある。
今回はシャローコピーについて
シャローコピーというのは、コピー元のオブジェクトとコピー先のオブジェクトがメモリ上の同じデータ(インスタンス変数)を参照しています。
#配列をコピーする方法
- sliceメソッド
- concatメソッド
- Array.fromメソッド
javascript
// 元の配列も更新されてしまう例
const manga = ['スラムダンク', 'ドラゴンボール', 'ジョジョ'];
const copy = manga;
copy[0] = "ワンピース";
console.log(manga); //["ワンピース", "ドラゴンボール", "ジョジョ"]
console.log(copy); //["ワンピース", "ドラゴンボール", "ジョジョ"]
sliceメソッドを使った例
javascript
//
const manga = ['スラムダンク', 'ドラゴンボール', 'ジョジョ'];
const cp = manga.slice();
cp[0] = "ワンピース";
console.log(manga); // ["スラムダンク", "ドラゴンボール", "ジョジョ"]
console.log(cp); // ["ワンピース", "ドラゴンボール", "ジョジョ"]
concatメソッド、Array.fromについては後ほど追記します。