配列を値でコピーする 質問する

配列を値でコピーする 質問する

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()オブジェクト参照を新しい配列にコピーします。元の配列と新しい配列は両方とも同じオブジェクトを参照します。参照先のオブジェクトが変更された場合、その変更は新しい配列と元の配列の両方に表示されます。

文字列や数値などのプリミティブは不変であるため、文字列や数値を変更することはできません。

おすすめ記事