| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Сортировка массива по убыванию ключей |
| Автор: barcelona 3.12.2009, 10:35 | ||||
| Здравствуйте! Я пытаюсь отсортировать массив по ключам в порядке убывания. Мой код:
Работает в Opera, в Mozilla - ни в какую, выдаётся массив, отсортированный по ключам по возрастанию. Как я понял, всё дело в этом
фрагменте кода функции. Сортировка ключей перед этим происходит адекватно, а вот дальнейшее присваивание даёт сбой. Как это исправить? |
| Автор: Grig 3.12.2009, 11:39 | ||
а так?
|
| Автор: barcelona 3.12.2009, 11:59 |
| Grig, код, который Вы привели сортирует (и правильно) массив по значениям. А у меня задача по сортировке массива по ключам. |
| Автор: Itsys 3.12.2009, 12:24 | ||
оператор "in" не гарантирует выдачу массива по возрастанию ключей.
|
| Автор: brother79 3.12.2009, 13:13 | ||||||||
| Как-то интересно получается. Это же не пхп, это js. В js есть понятие массив и объект, если у вас массив - то он не может быть сортированный по ключам, ещё раз повторю, это не пхп. Если это объект - возможно for(var i in object) будет выдавать в пор-ке как они присваивались, но нигде о таком не читал - не скажу. точно. Теперь ещё один ньюанс - объект можно создать типа
Далее можно присваивать типа
также можно обратиться к объекту как
Это используется когда св-во называется так, что по первому вар-ту будет ошибка, т.е. моидее можно так присвоить и
Но при этом a должна быть именно объектом а не массивом, и я не уверен индексом можно при этом число передавать или надо строку, не проверял. |
| Автор: Grig 3.12.2009, 13:50 | ||
barcelona, тогда вот так:
|