2015-12-25 2 views
0

Если бы я имел следующий код:Обратитесь к переменному на основе других переменных

var number = 3; 

var value1 = 22; 
var value2 = 50; 
var value3 = 63; 

Вы можете видеть, что number = 3 и так с этим я хотел бы получить значение value3 и сказать, если number = 2; я хотел бы получите значение value2.

Возможно ли это? Благодарю.

+0

Возможно ли использовать массив? Или они должны быть переменными? –

ответ

0

Вместо этого я использовал бы массив, если это возможно.

var values = [22,50,63], 
number = 2; 

console.log(values[number]); 
// 63 

Если это не так, то единственный другой способ, которым я могу думать использует eval, который имеет некоторые риски, связанные с ним.

Try:

var number = 3; 

var value1 = 22; 
var value2 = 50; 
var value3 = 63; 

eval('value' + number); 
// 63 

Если они глобальные объекты, то они могут быть уже доступны в качестве ключа на окне объекта:

window['value3'] 
// 63 

Что означает, что вы можете Concat строку в имени ключа :

window['value' + num] 
// 63 
+0

К сожалению, я не могу использовать массив для хранения данных. –

+0

Обновлен ответ –

Смежные вопросы