如何通过单个整数字段对JSON进行排序?

时间:2014-07-14 12:47:59

标签: javascript json node.js sorting

我有以下JSON:

{
    title: 'title',
    ...,
    order: 0
}, {
    ...,
    order: 9
}, {
    ...,
    order: 2
}

... JSON包含许多字段,如何根据订单字段对其进行排序?

我正在寻找构建到nodejs中的东西,但我找不到任何可能对这种情况有用的东西。

3 个答案:

答案 0 :(得分:8)

首先,您需要有效的JSON,如:

var unsorted = {
    "items": [
        {
            "title": "Book",
            "order": 0
        },
        {
            "title": "Movie",
            "order": 9
        },
        {
            "title": "Cheese",
            "order": 2
        }
    ]
};

之后,您可以轻松地对items进行排序并将其存储在列表中。

var sorted = unsorted.items.sort(function(a, b) {return a.order - b.order});

答案 1 :(得分:1)

一种快速的方法是使用像underscore.js这样的库 - 它有很多函数可以帮助你使用JSON对象进行这种操作。

我没有对此进行过测试,但这些方面的内容如下:

_.sortBy(yourJSONdata, function(obj){ return +obj.order });

答案 2 :(得分:1)

演示:http://jsfiddle.net/6eQbp/2/

您可以使用Array.sort()方法进行排序。

参考:http://www.javascriptkit.com/javatutors/arraysort.shtml