欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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]
相关标签: 学习笔记-JS笔记