|
Модераторы: Sardar, Aliance |
|
Alexandr507 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 70 Регистрация: 19.7.2009 Репутация: нет Всего: -1 |
Интересует такой вопрос. Насколько я понял непосредственно динамического массива в JS нет, но наверняка существует способ объявлять двумерный допустим массив, где один индекс изначально известен, а второй получается путем какого либо условия.
Написал такой код который вызвал ошибку в строке 13 - "Длина массива должна быть положительным конечным числом"
|
|||
|
||||
bars80080 |
|
|||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
так проверь, что там у тебя в size1
alert(size1); плюс, mas[i] = new Array(size2); возможно не прокатит, но зато прокатит mas[i] = []; тут как бы надо понимать, что массив в javascript вещь не постоянная, его можно расширять и укорачивать когда вздумается. поэтому задание предела, особого смысла не имеет |
|||
|
||||
IDVsbruck |
|
|||
Опытный Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 7 Всего: 22 |
||||
|
||||
Rimch |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 23.6.2007 Репутация: нет Всего: 3 |
Alexandr507, для чего вам нужен динамический массив?
Напишите конкретную задачу. |
|||
|
||||
Alexandr507 |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 70 Регистрация: 19.7.2009 Репутация: нет Всего: -1 |
Уже разобрался. переменная size1, которая является одной из размерностью массива, принимала не целочисленное значение и из за этого и была ошибка. Привык в С++ где каждая переменная строго типизирована, и при присвоении
в случае если результат деления len на size2 - дробь, то целочисленная переменная size1 просто отсекает дробную часть. В случае
Дробная часть не отсекается, так size1 не имеет конкретный тип "целое число". Rimch, мне нужен был двумерный массив в котором одна размерность известна , другая изначально не известна, и получается в результате некоторой формулы, то есть определяется динамически. Но он изначально выдавал ошибку, и я решил что возможно для объявления массива с динамически определяемыми индексами, существует какое либо другое решение. |
||||
|
|||||
IDVsbruck |
|
|||
Опытный Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 7 Всего: 22 |
Можно и вовсе не использовать размерность, а просто добавлять элементы, к примеру, функцией .push(value).
А массивы в js и вовсе могут быть "красивыми", к примеру: var arr = [ [1], ['q', 0, "qwerty"], [], [3.14, null, 45, "asdfgh"] ] Причем, обращения arr[0, 1] или arr[2, 0] или arr[1, 3] ошибочны, хотя, казалось бы, массив имеет размерность 4х4. Именно такие "фичи" делают этот странный язык таким гибким Это сообщение отредактировал(а) IDVsbruck - 26.12.2009, 01:22 |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |