2017-10-30 6 views
0

配列を含む代入というオブジェクトがあります。 変数を使用してキーでオブジェクトノードを選択する方法

assignments = { 
    'version_1': [1,2,3,4,5], 
    'version_2': [6,7,8,9,0], 
    'version_3': [3,4,5,6,7] 
} 

私は単純に言うことができる特定のバージョンの値を取得したい場合

console.log(assignments.version_2);

しかし、私は、整数の変数に設定している場合のようなもの?どのように値を動的に参照するのでしょうか。例えばあなたが唯一のES6持っているブラウザをサポートする必要があります知っている場合は、

var version_id = 2; 
console.log(assignments["version_" + version_id]); 

または、:

var version_id = 2; 
console.log(assignments.version_[version_id]); 
+3

可能な重複[ダイナミックキーを使用してオブジェクトにアクセスするには?](https://stackoverflow.com/質問/ 6921803 /アクセスオブジェクト使用方法 - 動的キー) – JJJ

答えて

2

あなたがこれを使用することができますが、次の試してみてくださいできる:

assignments[`version_${version_id}`] 

ES6テンプレート文字列は、物事がよりよい作る

+0

パーフェクト。ありがとう。 – Typhoon101

+1

@GGO - 不足している閉じ括弧を追加しました - うまくいきたいと思っています – nikhil

+1

@ Typhoon101あなたがes6を持つブラウザをサポートする必要があることがわかっているなら、あなたは 'assign [\' version _ $ {version_id} \ ']' - es6のテンプレート文字列を使うと、より良いものになります – TKoL

0

var assignments = { 
 
    'version_1': [1, 2, 3, 4, 5], 
 
    'version_2': [6, 7, 8, 9, 0], 
 
    'version_3': [3, 4, 5, 6, 7] 
 
}; 
 

 
var version_id = 2; 
 

 
console.log(assignments["version_" + version_id]);

0

assignments = { 
 
    'version_1': [1,2,3,4,5], 
 
    'version_2': [6,7,8,9,0], 
 
    'version_3': [3,4,5,6,7] 
 
} 
 
console.log(assignments['version_2'])

関連する問題