У меня есть строка JSON, которую я получаю с помощью ajax, которая правильно упорядочена:
{"label":"Gr\u00f6\u00dfe","values":{"4302":"XS","4184":"S","4185":"M","4186":"L","4187":"XL","4188":"XXL","5165":"3XL","4340":"4XL"}}
Этот JSON заполняет файл select. Проблема в том, что параметры автоматически переупорядочиваются (я не знаю, почему?) на основе ключа значения, что означает, что я не получаю правильный порядок параметров для выбора.
Вариант выглядит так: S, M, L, XL, XXL, XS, 4XL, 3XL
Правильный порядок должен быть XS, S, M, L, XL, XXL, 3XL, 4XL
Что я могу сделать, чтобы получить правильный заказ?
В JavaScript нет гарантированного порядка свойств объектов. Вместо этого вы должны использовать массив в своем JSON для обеспечения порядка. Что-то вроде этого:
{"label":"Gr\u00f6\u00dfe","values":[{"4302":"XS"},{"4184":"S"}, ...]}
Вы можете форматировать объекты в массиве values
как угодно, но идея в том, что когда речь идет о порядке, используйте массивы.
Отсюда мой комментарий: «Вы можете форматировать объекты в массиве значений так, как хотите»
Лучше иметь
"values":[{"key": "4302", "value":"XS"...}]