JavaScript 内の配列を別の配列にコピーする場合:
var arr1 = ['a','b','c'];
var arr2 = arr1;
arr2.push('d'); // Now, arr1 = ['a','b','c','d']
arr2
は、新しい独立した配列ではなく、と同じ配列を参照していることに気付きましたarr1
。配列をコピーして 2 つの独立した配列を取得するにはどうすればよいでしょうか?
ベストアンサー1
これを使って:
let oldArray = [1, 2, 3, 4, 5];
let newArray = oldArray.slice();
console.log({newArray});
基本的に、slice()
この操作は配列を複製し、新しい配列への参照を返します。
また、次の点にも注意してください。
参照、文字列、数値 (実際のオブジェクトではない) の場合、slice()
オブジェクト参照を新しい配列にコピーします。元の配列と新しい配列は両方とも同じオブジェクトを参照します。参照先のオブジェクトが変更された場合、その変更は新しい配列と元の配列の両方に表示されます。
文字列や数値などのプリミティブは不変であるため、文字列や数値を変更することはできません。