0

変更を加えるために、変数の一時コピーを作成する必要があります。これが私が意味することです:

var x = ["a", "b", "c"];
var y = x;
y[1] = "2"
//x: ["a", "b", "c"];
//y: ["a", 2, "c"];

組み込みのデータ構造ではなく、自分で定義したオブジェクトを使用していることは指摘しておく価値があります。

4

3 に答える 3

1

JavaScript でプリミティブ型の配列を「複製」するための標準的な方法 (要件に基づく) を以下に示します。

var x = ["a", "b", "c"];
var y =  x.slice(0);
y[1] = "2";

配列に複合型 (オブジェクト) が含まれている場合は、元の参照が保持されることに注意してください。つまり、オブジェクトの配列に対して「ディープ」コピーを実行しません。

于 2013-05-09T04:45:31.273 に答える
0

これを試して

var x = ["a", "b", "c"];
var y = JSON.parse(JSON.stringify(x));
//y = ["a", "b", "c"];

その後、新しいオブジェクトを好きなように操作できます。

于 2013-05-09T07:19:05.427 に答える
0

jQuery を使用してオブジェクトのクローンを作成できます

var newObject = jQuery.extend(true, {}, oldObject);

jQuery ドキュメント

于 2013-05-09T07:45:51.633 に答える