![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| yalo |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 24.5.2006 Репутация: нет Всего: 2 |
Здравствуйте.
Не знаю почему, но многомерный массив такого типа на яве-скрипт не воспринимается корректно
Если задачу еще более упрощать до:
то в таком случае также не воспринимается корректно массив массив будет принят только если записывать его одномерно, например, так:
Как же мне тогда его следует записать? Разве ява-скрипт не поддерживает многомерные массивы? PS Возможно мои проблемы идут из пхп, где запись массивов очень гибкая, возможны практически все возможные логичные записи массива |
||||||
|
|||||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
что значит "не воспринимается корректно"?
|
|||
|
||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 13 Всего: 36 |
Потому что
1. Array, это порядковый массив. Нужны ассоциативные индексы — используйте Object. 2. Каждый объект нужно сначала создать. Т.е. сначала создать firmslace, потом его элемент с индексом 63, а потом уже в нем элемент "name". |
|||
|
||||
| yalo |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 24.5.2006 Репутация: нет Всего: 2 |
это значит, что функция, которая вызывается после его объявления, не вызывается, то есть не получаем в итоге document.write('here');
Странно..тогда почему такой код работает?
а вот такой опять же не работает:
похоже-то вроде на то,что не нравится многомерность, или я что-то все-таки упускаю? (про объекты тоже попробую поковырять..) |
||||||
|
|||||||
| HotHead |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 26.10.2007 Репутация: нет Всего: 4 |
yalo, первый код работает потому, что вы вызываете конструктор массива и он вам возвращает по сути объект-массив. В ява-скрипте вообще всё что не примитив (т.е. не строчка, число или bool) - то объект. Но пользоваться этим без надобности не стоит, т.к. запутаете всех, включая себя. А так в принципе и код
не вызовет нареканий. С точки зрения машины по крайней мере. Второй код не работает, т.к. вы явно не указали, что firmsplace[63] является массивом. А без этого ява-скрипт сам не догадается. Надо сначала написать firmsplace[63] = new Array() Но, если не ошибаюсь, старые IE почему-то очень не любили такую конструкцию. Так что я предпочитаю писать:
|
||||
|
|||||
| cruelangel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 12.9.2007 Репутация: 4 Всего: 8 |
> это значит, что функция, которая вызывается после его объявления, не вызывается
в таком случае нужно заглянуть в консоль ошибок и там будет написано что не так. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |