Jquery函数用于排序数组元素

时间:2013-06-16 23:52:21

标签: javascript jquery

在jquery中是否有一个函数来排序数组或json元素的元素或类似的东西?

感谢。

3 个答案:

答案 0 :(得分:1)

您正在寻找javascript' .sort()方法。我知道您已经要求提供jQuery解决方案,但我认为这正是您所寻找的。

您可以在任何阵列上拨打.sort()。如果您传递一个函数,它会将其视为比较器函数。这意味着您可以根据需要对任何数组进行排序。

如果你想使用比较器功能对一组数字进行排序(升序),你可以这样做:

arrayVariable.sort(function(a,b) {
    return a-b;
});

尽管如此,它并不仅仅需要数字。您可以按任何标准对象:

arrayVariable.sort(function(a,b) {
    /* assume a and b are both objects with a "key" property */
    return a.key - b-key;
});

这将按数组中对象的.key对数组进行排序(升序)。

答案 1 :(得分:0)

不,但有一种方法可以在JavaScript中构建它:

my_array = [67,2,5,1,90,8];
my_array.sort(function(a,b){return a-b;})
// my_array now contains [1,2,5,8,67,90]

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

答案 2 :(得分:0)

Javascript已经有了一个Array.sort方法。

var arr = ["red", "blue", "green"];
arr.sort(); // default sort is lexicographic.
// arr == ["blue", "green", "red"]

如果需要更复杂的排序,则必须使用函数参数。

var arr = [101, 90, 200];
arr.sort();
// arr == [101, 200, 90] as the elements are treated as strings.
arr.sort(function(a, b){ return a - b;});
// arr == [90, 101, 200];