Javascript: имя новой переменной состоит из значения другой переменной - PullRequest
0 голосов
/ 23 февраля 2012

Проще всего объяснить, показывая код:

var delta_selected = false;
var magma_selected = false;
var aqua_selected = false;

// Somewhere in my functions...
if (sumthing == 'sumthing1') {
    topic = 'delta';
} else if (sumthing == 'sumthing2') {
    topic = 'magma';
} else {
    topic = 'aqua';
}

// Then assign it (so if topic is delta, then delta_selected = true)
topic + "_selected" = true;

Эта последняя строка не работает. Синтаксическая ошибка.

Мне нужна помощь, чтобы выяснить, как это сделать. Спасибо!

Ответы [ 3 ]

3 голосов
/ 23 февраля 2012

Зачем использовать переменные?Похоже, вам нужна одна структура, которая содержит все ваши _selected значения.

var selected = {
    delta:false,
    magma:false,
    aqua:false
};

затем ...

if (sumthing == 'sumthing1') {
    topic = 'delta';
} else if (sumthing == 'sumthing2') {
    topic = 'magma';
} else {
    topic = 'aqua';
}

selected[topic] = true;
3 голосов
/ 23 февраля 2012

попробуйте

window[topic + "_selected"] = true;
0 голосов
/ 23 февраля 2012

Посмотрите на функцию "eval ()".Вы, вероятно, в конечном итоге получите что-то вроде:

eval(topic + "_selected = true;")

Но проверьте документацию, чтобы быть уверенным.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...