JS重排序方法
程序员文章站
2022-06-16 10:32:15
...
数组中已经存在两个可以直接用来重排序的方法:sort()和reverse()。
这种方式在很多情况下不是最佳方案。
因此sort()方法可以接收一个比较函数作为参数,以便我们指定哪个值位于哪个值之前;
比较函数接收两个参数,如果第一个参数应该位于第二个参数之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个参数之后则返回一个正数。
下面使用比较函数:
//升序
function fn(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
var numbers=[0,1,1,2,3,10,9,11];
numbers.sort(fn); // [0, 1, 1, 2, 3, 9, 10, 11]
//降序
function fn(value1,value2){
if(value1<value2){
return 1;
}else if(value1>value2){
return -1;
}else{
return 0;
}
}
var numbers=[0,1,1,2,3,10,9,11];
numbers.sort(fn); // [11, 10, 9, 3, 2, 1, 1, 0]
//降序的简单方式
function fn(value1,value2){
return value2-value1
}
var numbers=[0,1,1,2,3,10,9,11];
numbers.sort(fn); // [11, 10, 9, 3, 2, 1, 1, 0]
上一篇: windows phone 8开发地图相关API的调用
下一篇: 唯一有损她名誉的污点