Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2013, 13:06
Интересующийся
Отправить личное сообщение для bugiman Посмотреть профиль Найти все сообщения от bugiman
 
Регистрация: 10.06.2012
Сообщений: 12

Имя массива, как строковая переменная, при обращении
Ситуация, вроде, простая, но вчера почти два часа в пустую шарил в инете - ничего не нашел.
Есть строковая переменная, которая генерируется по определенному алгоритму.
И эта переменная соответствует названию массива.
Теперь мне надо обратиться к этому массиву через эту переменную, что бы, например, длину его узнать.
Тут и всплыл фэйл
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

Ясное дело, что здесь нам передали длину строки...
Как же дать понять интерпретатору, что надо искать массив?
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2013, 13:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,287

bugiman,
l = window[arr_name_2].length;
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2013, 13:32
Интересующийся
Отправить личное сообщение для bugiman Посмотреть профиль Найти все сообщения от bugiman
 
Регистрация: 10.06.2012
Сообщений: 12

Пишет TypeError, что window[arr_name_1] is undefined
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2013, 13:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 32,287

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>
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2013, 13:44
Интересующийся
Отправить личное сообщение для bugiman Посмотреть профиль Найти все сообщения от bugiman
 
Регистрация: 10.06.2012
Сообщений: 12

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 13:25
как сделать что бы при открытии страницы сразу открылось большое фото oksanaweb Общие вопросы Javascript 1 05.06.2013 01:17
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 10:46
Как при чтении или записи свойства объекта вызывать функцию danik.js Общие вопросы Javascript 3 16.09.2010 16:57
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 22:28