@goodman_n1

Как вызвать переменную?

Прошу помочь с вызовом переменных. Пример кода:
var a1 = "Один";
var a2 = "Два";
var a3 = "Три";
var a4 = "Четыри";
var a5 = "Пять";
...


Есть цикл, из под него пытаюсь вызвать переменные:
for(var i = 0; i < 5; i++)
{
	document.write("a" + (i+1));
}


В ответ получаю:
a1
a2
a3
a4
a5
...


Если указать не document.write("a" + (i+1)); , а document.write(a + (i+1)); вылетает ошибка!
  • Вопрос задан
  • 240 просмотров
Решения вопроса 2
Stalker_RED
@Stalker_RED
for (var i = 1; i <= 5; i++) {
    document.write(window['a' + i]);
}

или
for (var i = 1; i <= 5; i++) {
    document.write(this['a' + i]);
}

или
for (var i = 1; i <= 5; i++) {
    document.write(eval('a' + i));
}


Но лучше такие "фокусы" не устраивать, и переписать нормально.
Ответ написан
Комментировать
amux
@amux
alp.ac
https://developer.mozilla.org/ru/docs/Web/API/Window
document.write(window["a" + (i + 1)]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Варианты чуть правильнее
var a = ['Один', 'Два' , ... ];

for(var i = 0; i < 5; i++)
{
  document.write(a[i]);
}


Если у вас не только цифры после а , то вот
var a = {
'1' : 'Раз',
'2' : 'Два',
'qwerty' : 'Три',
}

for (var i in a)
{
  document.write( a[i] );
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект