Сортировка JS объектов браузером по умолчанию
Доброе время суток. У меня возникла след. проблема. У меня есть массив след. вида:
var arr = [8, 11, 9 5]; Мне нужно из этого массива создать объект след. вида: var obj = { 8 : true, 11 : true, 9 : true, 5 : true } Но главное чтобы порядок key в объекте был именно такой как в массиве и не изменялся. Пройтись циклом по массиву и создать объкт проблем нету. Проблема заключается в сл. браузеры Chrome и ие9 сортируют ключи в объекте. То есть в Chrome и ие9 объект Obj приймет сл. вид: var obj = { 5: true, 8: true, 9: true, 11: true } Отказаться от использования объектов не выход. Если к ключам объекта добавлять например "_5" или "5j" всё равно Chrome и ие9 сортируют ключи. Делать массив объектов выход, да прорядок тогда можно сохранить, но уже написано очень много кода и переписывание многово будет стоит. Очень буду рад услышать выши комментарии по этому счёту. Буду рад услышать любое ваше мнение или предложения как решить данную проблему. Большое спасибо. |
Хэш по определению является неупорядоченным набором свойств. Поэтому надеяться на какой-либо порядок нельзя в принципе. Даже если в данный момент Firefox сортирует так, как вам надо, завтра он может сортировать по другому.
|
estonets, как вариант добавить к ключам св-ва, по кот. сортировать.
|
Не знаю, актуально ещё или нет, но на курсах Илья нам обьяснял, что если с сервера придут ключи у которых вначале будет стоять "+" то сортировки происходить не будет
|
Часовой пояс GMT +3, время: 04:14. |