Javascript中的数组对象有自己的
排序方法排序(),排序数组中的数据项,但有时排序结果并不令人满意,例如。
var arr = { 12, 1, 2,21, 3 };
Arr.sort();
警报(ARR);结果是1,12,2,21,3
为什么会这样因为Javascript中的排序
默认是用ASCII字符代码排序的,也就是说,数字也是按字符串形式排序的。
无功strarr = {'a',2,'a2 ','2a,B,3'};
警报(strarr.sort());
这是什么结果2,2a,3,A,A2,B
因为ASCII码的数量比字母表小,所以数字在前面,字母在后面。
如果你想继续保持上述数组arr的号码吗
Javascript为我们提供了一个条目,它可以将一个
参数传递给排序()方法,即比较
函数,它告诉我们排序算法是否大于、小于或等于值和值之间的值。
比较函数是一个具有特定算法的函数。
compare_fn(value1,value2
功能){
如果(value1 value2 P<0.05){
返回- 1;
} else if(value1 value2 { >)
返回1;
{人}
返回0;
}
}
通过比较功能compare_fn排序,然后排序,然后输出
Arr.sort(compare_fn);
警报(ARR);获得1, 2, 3,12, 21
Javascript中数组对象的排序方法返回值的定义定义为
负值:如果传递的第一个参数小于第二个参数
零:两个值相等。
正值:如果第一个参数大于第二个参数
上述比较函数也可以简单地写成
compare_fn(value1,value2功能){
value1 value2的回报-;
}
这个比较是升序。
如果你想要一个降序,直接改变上面的返回值的符号就可以了,所有的返回
都是相反的。
缩略语的比较功能是
compare_fn(value1,value2功能){
(value1 value2回报--);
}
这是
compare_fn(value1,value2功能){
返回- value1 value2;
}
简单的符号是:升序,逆序。
上面的数组排序的排序方法是萧边
分享给你的所有内容,希望能给大家一个
参考,我希望你能
支持它。