,,数组Array的排序sort方法

,,数组Array的排序sort方法

下面小编就给大家带来一个数组Array的排序方法。我觉得边肖挺好的。我现在就分享给你,给你一个参考。来和边肖一起看看吧。

JavaScript中的Array对象有自己的排序方法sort(),对数组中的数据项进行排序,但有时排序结果并不令人满意,比如

var arr=[12,1,2,21,3];

arr . sort();

警报(arr);结果是1,12,2,21,3。

这是为什么呢?因为JavaScript中的排序默认是按照ascii字符码排序的,也就是数字也是按照其字符串形式排序的。

var strArr=['a ',' 2 ',' a2 ',' 2a ',' b ',' 3 '];

alert(strarr . sort());

这样的结果是什么?2,2a,3,a,a2,b

因为数字的ascii码比字母小,所以数字在前,字母在后。

如果要保持上面的数组arr按数字排序,应该怎么做?

JavaScript为我们提供了一个条目,可以向sort()方法传递一个参数,即比较函数,告诉排序算法值是大于、小于还是等于值。

比较函数是具有特定算法的函数。

函数compare_fn(值1,值2) {

if(值1值2) {

return-1;

} else if (value1 value2) {

返回1;

}否则{

返回0;

}

}

传递比较函数compare_fn进行排序,排序,输出。

arr . sort(compare _ fn);

警报(arr);得到1,2,3,12,21

JavaScript数组对象的排序方法的返回值定义为

负值:如果传递的第一个参数小于第二个参数

零:两个值相等。

正值:如果第一个参数大于第二个参数

上面的比较函数也可以缩写为

函数compare_fn(值1,值2) {

返回值1 -值2;

}

这种比较是按升序进行的。

如果要降序排序,直接改变上面返回值的符号就行了,所有的返回都是倒序的。

速记的比较函数是

函数compare_fn(值1,值2) {

return -(值1 -值2);

}

也就是

函数compare_fn(值1,值2) {

返回值2 -值1;

}

简单的记法是:按顺序升序排列;反向下降。

以上Array数组排序方法是边肖分享的全部内容。希望给大家一个参考,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: