55

古い配列に影響を与えずに新しい配列を変更できるように、既存の配列から配列を形成したいと考えています。配列は可変であることを理解しています。これが、新しい配列が古い配列に影響を与える理由です。

例えば

old = ["Apples", "Bananas"];
new = old;

new.reverse();

古いものも反転されています。

Python では を実行できますがnew = list(old)、実行new = new Array(old);すると古いリストがリスト内に配置されます。

4

2 に答える 2

111

.slice次の方法を使用できます。

var old = ["Apples", "Bananas"];
var newArr = old.slice(0);
newArr.reverse(); 
// now newArr is ["Bananas", "Apples"] and old is ["Apples", "Bananas"]

Array.prototype.slice は、配列の一部の浅いコピーを返します。最初のパラメーターとして 0 を指定すると、すべての要素のコピーが返されることを意味します (つまり、インデックス 0 から始まります)。

于 2013-03-30T19:16:22.467 に答える
9

以下を試してください

newArray = oldArray.slice(0);
于 2013-03-30T19:16:58.213 に答える