Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Имя массива, как строковая переменная, при обращении (https://javascript.ru/forum/dom-window/43009-imya-massiva-kak-strokovaya-peremennaya-pri-obrashhenii.html)

bugiman 18.11.2013 15:06

Имя массива, как строковая переменная, при обращении
 
Ситуация, вроде, простая, но вчера почти два часа в пустую шарил в инете - ничего не нашел.
Есть строковая переменная, которая генерируется по определенному алгоритму.
И эта переменная соответствует названию массива.
Теперь мне надо обратиться к этому массиву через эту переменную, что бы, например, длину его узнать.
Тут и всплыл фэйл :(
ss_1_1 = new Array (1,2,3,4,5,6)
sr_1_1 = new Array (1,2,3)
arr_name_1 = 'ss_' + document.form.series.value
arr_name_2 = 'sr_' + document.form.series.value
l = arr_name_2.length

Ясное дело, что здесь нам передали длину строки...
Как же дать понять интерпретатору, что надо искать массив?

рони 18.11.2013 15:18

bugiman,
l = window[arr_name_2].length;

bugiman 18.11.2013 15:32

Пишет TypeError, что window[arr_name_1] is undefined

рони 18.11.2013 15:38

bugiman,
:-?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<form action="http://" name="form">
  <input name="series" value="1_1">
</form>
 <script>

ss_1_1 = new Array (1,2,3,4,5,6)
sr_1_1 = new Array (1,2,3)
arr_name_1 = 'ss_' + document.form.series.value
arr_name_2 = 'sr_' + document.form.series.value
l = window[arr_name_1].length
alert(l);
l = window[arr_name_2].length;
alert(l);

 </script>
</body>

</html>

bugiman 18.11.2013 15:44

Господи, я идиот.
Запутался в собственных обозначениях :\
Спасибо, добрый человек!


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