Сортировка объекта JSON

Возникла проблема при попытке отсортировать объект JSON. По сути, люди могут добавлять продукты в любом случайном порядке в нашу форму заказа, но порядок, который он показывает в сводке, должен соответствовать тому, как мы хотим, чтобы они располагались (а не порядку, в котором они их выбирают), поэтому мне нужно сортировать по 'id' (или позже мы отсортируем по полю 'pos')

По сути, мне нужно отсортировать по id по возрастанию. 1,2,103 вместо 2,103, 1

Кажется, у меня проблемы, потому что индекс отдельных объектов - это числа (или просто факт, что они там ...).

Мне нужно сделать что-то вроде array.sort ( function (a, b) {return a.id-b.id}); но я предполагаю, что это не сработает, потому что 1, это не массив (это объект), и 2, у него есть те надоедливые индексы (которые мне нужны для другой части моего кода) ...

Любые идеи ????

var products = {
    "2": {
        "id": "2",
        "price": "119",
        "quantity": "1",
        "thumb": "img\/store\/comp-08n.png"
    },
    "103": {
        "id": "103",
        "price": "109",
        "quantity": "1",
        "thumb": "img\/store\/basketballhoop.png"
    },
    "1": {
        "id": "1",
        "price": "309",
        "quantity": "1",
        "thumb": "img\/store\/comp-08.png"
    }
};
5
задан jcolebrand 27 May 2011 в 03:43
поделиться