Показать сообщение отдельно
  #4 (permalink)  
Старый 13.02.2010, 15:36
Аватар для Скриптор
Аспирант
Отправить личное сообщение для Скриптор Посмотреть профиль Найти все сообщения от Скриптор
 
Регистрация: 05.02.2010
Сообщений: 35

Цитата:
К глобальным массивам можно обратится так:
var abc = [7,8,22], bcd = [8], cde = [9]; 

window["abc"]

Только почему здесь вместо конкретного имени ("abc") не может быть вычисляемой переменной? В Tcl было все так удобно и лаконично...



Хотелось бы чего-то наподобие:
Код:
var abc = [7,8,22], bcd = [8], cde = [mbp, abc, bcd];
window[cde[1]][2]   // ==> 22
Примечание: в данном случае я храню имена массивов тоже в массиве, специально отведенном для этого; через него и обращаюсь к ним. Награмождение скобок - для TCL'я вообще не редкость, но, главное, что это работает.


Не могу понять почему подобное не работает, хотя бы в виде:
Код:
window[eval(cde[1])][2]
или
window[eval('cde[1]')][2]


Эту задачу я, в принципе, мог бы решить и на одних регулярных выражениях, но мне сейчас интересно как это могло бы выглядеть в JS на массивах.

Последний раз редактировалось Скриптор, 13.02.2010 в 16:28.
Ответить с цитированием