0

JavaScript プロパティは常に参照によって返されることがわかりました。彼らの価値観が必要です。

プロパティの 1 つとして配列を持つオブジェクトがあります。その配列内の 2 つの値を交換する必要があります。

以下のコードは非常に単純化されており、実際の配列には文字列だけでなくオブジェクトが含まれています。私の現在の回避策は、配列の 2 つのインデックスを取得することです。しかし、私はここで何か間違ったことをしていると感じています。

何かアドバイスはありますか?以下のコードは私の回避策ではありませんが、何かを改善するための私の試みです。しかし、配列内で何も変更されていません。

var obj = {
    arr: ['a', 'b', 'c', 'd']
};

console.log(obj);

var source = obj.arr[0];
var destination = obj.arr[1];

obj.arr[0] = destination;
obj.arr[1] = source;

console.log(obj);

奇妙なことは次のとおりです。出力は最初は b、a、c、d です。

4

1 に答える 1

4

配列自体を更新する必要があります。

var source = obj.arr[0];
var destination = obj.arr[1];

obj.arr[0] = destination;
obj.arr[1] = source;
于 2013-01-30T23:35:05.200 に答える