jquery中是否有一个函数可以对数组元素或json元素或类似的东西进行排序?
谢谢。
您正在寻找 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
中对象的 s 对数组进行排序(升序)。
不,但是有一种内置在 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
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];