2017-05-30 9 views
0

可能かどうかわかりません。ここで私は答えを探しています。私は一緒にkey2key3を結合しようとしているJavaScriptオブジェクトの宣言は2つの異なるキーを組み合わせて行います

var objectName = { 
    key1  : 'value1', 

    key2,key3 : 'value2; 
} 

のようなオブジェクトを宣言する方法はあります。

+1

でそれに対処する必要がありますか? –

+2

'var objectName = { key1: 'value1'、 key2: 'value2'、 key3: 'value2' }'の何が問題なのですか? –

+0

目的は、2つの異なるキーに同じ値を割り当てることです。 –

答えて

0

あなたはパトリック・ロバーツが言うように、値を割り当てるキーの配列を作成し、そのようなものをキーに同じ値を設定しない場合:

var obj = {}; 
 
obj['key1'] = 1; 
 

 
// Array of keys 
 
var arrayOfKeys = ['key2','key3','key4']; 
 
// Common value for keys in array 
 
var val = 2; 
 

 
// Iterate the array 
 
for(var k in arrayOfKeys) { 
 
    obj[arrayOfKeys[k]] = val; 
 
} 
 
console.log(obj);


これをチェックすることもできますanswer

+0

'(var k of arrayOfKeys){obj [k] = val; } 'これはまだ非常に残酷ですが、少しクリーナーのようです –

0

少し異なるアプローチを使用できますが、これはプリミティブval配列内の異なるキーに同じ参照を保持するためのオブジェクトを追加することによっても変更できます。たとえば、

temp = { 
    value: 42 
} 

object = { 
    key2: temp, 
    key3: temp 
} 

のような配列、そしてあなたが参照されたオブジェクトの値のための独立したキーを使用することができるように、値オブジェクトを持っています。

が値を変更するには、2つの異なるキーに同じ値をASSINGまたは単一のキーを取得するために2つのキーを組み合わせることのように組み合わせる

object.key2.value = 2000; 
console.log(object.key3.value); // 2000 
関連する問題