jQuery динамически увеличивает имя переменной внутри цикла for - PullRequest
4 голосов
/ 26 марта 2012

возможно ли добавить i в переменную внутри цикла for?в неправильном синтаксисе это будет выглядеть так:

for(i=1; i<=countProjects; i++){

    var test + i = $(otherVar).something();

};

Спасибо!

Ответы [ 2 ]

6 голосов
/ 26 марта 2012

Было бы лучше использовать массив для этого:

var test = [];

for (i = 1; i <= countProjects; i++) {
    test[i] = $(otherVar).something();
};

Тогда вы можете получить доступ к таким значениям, как это:

console.log(test[1]);
console.log(test[2]);
etc...

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

for (i = 1; i <= countProjects; i++) {
    window["test" + i] = $(otherVar).something();
};

console.log(test1);
5 голосов
/ 26 марта 2012

Как указано Mat , вы должны использовать массивы для этого типа функциональности:

var projects = [];
for (var i = 0; i <= countProjects; i++) {
    projects.push($(otherVar).something());
}

Вы можете создавать имена переменных, используя синтаксис object["varname"]. Но это _generally_ плохая практика:

var varName;
for (var i = 0; i <= countProjects; i++) {
    varName = "test" + i.toString();
    this[varName] = $(otherVar).something();
}
console.log(test1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...