1

私はこの形式の配列を持っています:

array [ object{key1: v1, key2: v2}, object{key1: v3, key2: v4} ]

今、各オブジェクトの値を変更するために、キーはたとえば、key1 から v2 です。このように、各オブジェクトをループしています。

for(var i=0;i<array.length;i++){
   array[i][key1] = v2;
}

これを行うより速い方法はありますか?たとえば、代わりに配列を渡すことは可能ですか i like so

 i= [0,1];
 array[i][key1] = v2;
4

3 に答える 3

1

1つの方法は次を使用していmap()ます:

var arr = [ {key1: 'v1', key2: 'v2'}, {key1: 'v3', key2: 'v4'} ];
arr = arr.map(function(x) { x.key1 = 'foo'; return x; });

// arr is now: [ {key1: 'foo', key2: 'v2'}, {key1: 'foo', key2: 'v4'} ];

上記のコードは、配列内の各オブジェクトのキー「key1」に対応する値を変更します。

于 2013-06-14T13:47:02.623 に答える