![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| 1234ru |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
Есть ли в Javascript конструкция, позволяющая создать обычный массив (не хэш) из нескольких элементов с явными значениями ключей, не описывая каждый элемент в отдельности? Т.е. за одну операцию, как, например, в PHP:
? |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Да.
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
а обязательно в одну команду? почему бы не так:
|
|||
|
||||
| 1234ru |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
Да, обязательно. Т.к. сам массив я передаю с сервера в безличном виде: на стороне сервера еще неизвестно, как он должен называться, а какое у него будет имя - определяется на клиенте.
Это вообще жесть. Если мне надо ar[1], ar[10], ar[100] и ar[2147483648], мне строку размером в два гигабайта делать? Это сообщение отредактировал(а) 1234ru - 27.6.2010, 12:42 |
||||
|
|||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Да! bars80080, намекнул на возможный вариант реализации чем он не подходит?
так достаточно безлично? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
||||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Кстати, вот такое тоже, как это не удивительно, работает. правда количество установленных параметров вычислить не очень просто, но пробежаться по всем полям объекта, не сложнее, чем по всем элементам массива.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| 1234ru |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
ksnk, а как мне это присвоить переменной? (я синтаксис не знаю) Запись типа var b = (function(..)) ? (хорошо бы, чтобы функция тоже была безличной) Ассоциативный массив не подходит. У меня сначала через него всё и было - пары id=>value отсортированные по алфавиту. У меня с сервера строка приходила вида:
При формировании HTML-страницы делалось:
Причем сервер не знает, как там массив будет называться на клиенте. Поэтому явный способ задания элементов по одному не подходит (если только через функцию). Но потом выяснилось, что Опера его перебирает (через for in) не в порядке следования элементов, а в порядке возрастания ключей, и вся моя сортировка сбивается. Обычные массивы Опера сортирует нормально, поэтому ищу решение через них. Это сообщение отредактировал(а) 1234ru - 27.6.2010, 19:15 |
||||||
|
|||||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
вот так-же, только фигурных скобок не надо. Что такое вообще "тут строка с сервера". Откуда и как она берется? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| 1234ru |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 26.8.2007 Репутация: нет Всего: -1 |
ksnk, спасибо, я, наконец, разобрался. Не знал (точнее, не задумывался) о конструкциях, где функцию объявляют и тут же выполняют. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |