Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переменные с номером в имени (https://javascript.ru/forum/misc/66873-peremennye-s-nomerom-v-imeni.html)

Sergey and 15.01.2017 16:36

Переменные с номером в имени
 
Подскажите как прочитать значение переменной по имени + индекс?
Например есть много переменных имена одинаковые, только в конце номер разный test1 test2 test3 test4.... есть еще одна переменная select в которой храниться цифра.
Например если select ===1 то нужно выбрать все переменные в имени которых 1 в конце.
Если в условие разбирать получается очень много кода. Можно как то сделать такое : вместо if(select == 1) test1=x сделать так test#select = x ?

destus 15.01.2017 16:44

Sergey and,
var test1, test2, test3;

var select = 1;

window['test'+select]='blabla';

alert(test1);

Sergey and 15.01.2017 16:47

Как все просто ) спасибо
Это только с переменными работает ?
Здесь можно цифру заменить?
sparrowset( $('#sp1arrow'),....

sp1arrow это id

fuckingquest 15.01.2017 16:54

foo1 = 1
foo2 = 2
foo3 = 3

bar1 = 1
bar2 = 2
bar3 = 3

select = function(object, index){
    var out = {}
    for(var i in object){
       if(! object.hasOwnProperty(i)) return out
       if(new RegExp(String(index + "$")).test(i)) out[i] = object[i]
    }
    return out
}

console.log(select(window, 1))
console.log(select(window, 2))
console.log(select(window, 3))

рони 15.01.2017 17:05

Sergey and,
$('#sp'+ select +'arrow'),....

Sergey and 15.01.2017 17:22

Да работает спасибо )


Часовой пояс GMT +3, время: 14:50.