2017-01-18 2 views
0

Так, скажем, у меня есть кодКак вы можете назвать имя переменной вместо ее значения?

let foo1 = 1, 
foo2 = 2, 
foo3 = 3, 
foo4 = 4, 
bar = []; 

Можно ли написать функцию, которая будет принимать имя переменной, а затем позвольте мне нажать, что бар, или же значение переменной всегда дозвонились вместо имени? Если это is всегда вызываемое значение вызывает, есть ли способ получить имя ссылки, а не ссылочное значение по-другому?

+0

Вы могли бы сделать только такую ​​вещь с глобальными переменными. Если эти переменные foo ограничены, это будет невозможно, если вы не используете 'eval', который не рекомендуется. –

+0

Пожалуйста, объясните контекст. Являются ли эти глобальные переменные или являются локальными для области блоков? – trincot

+0

Тем не менее, популярные фреймворки, такие как угловые, сильно зависят от 'eval', поэтому, возможно, вы должны просто иметь на нем. –

ответ

3

Вы можете использовать объект и использовать его как имя.

var object = { 
 
     foo1: 1, 
 
     foo2: 2, 
 
     foo3: 3, 
 
     foo4: 4, 
 
     foo5: 5, 
 
    }, 
 
    key = 'foo1', 
 
    bar = []; 
 

 
bar.push(object[key]); 
 

 
console.log(bar)

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