javascript sort()对数组中的元素进行排序详解


Posted in Javascript onOctober 13, 2019

javascript sort()可以对数组中的元素进行排序,

语法格式:arrayObject.sort(sortby)

arrayObject是数组对象,sortby为可选项,用来确定元素顺序的函数的名称,如果这个参数被省略,那么元素将按照ASCII字符顺序进行升序排列。

在没有使用比较函数进行排序时,sort方法是按字符的ASCII值进行排序的,先从第一个字符比较,如果第一个字符相等,再比较第二个字符,以此类推。

对于数值型数据,如果按照字符比较,得到的结果可能并不是我们想要的,因此需要借助比较函数。比较函数有两个参数,分别代表每次排序时的两个数组项。sort()排序时每次比较两个数组项都会执行这个参数,并把两个比较的数组项做为参数传递给这个函数。当函数返回值大于0时就交换两个数组的顺序,否则就不交换,即函数返回值小于0,表示升序排列,函数返回值大于0,表示降序排列。

<!DOCTYPE html>
<html>
<head>
  <title>对数组中的元素进行排序</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script type="text/javascript">
    var x = new Array(1,20,8,12,6,7);  //创建数组
    document.write("排序前数组:"+x.join(",")+"<p>"); //输出数组元素
    x.sort();  //按字符升序排列数组
    document.write("没有使用比较函数排序后数组:"+x.join(",")+"<p>");   //输出排序后数组
    x.sort(asc);    //有比较函数的升序排列
    /*升序比较函数*/
    function asc(a,b){
      return a-b;
    }
    document.write("排序升序后数组:"+x.join(",")+"<p>");  //输出排序后的数组
    x.sort(des);  //有比较函数的降序排列
    /*降序比较函数*/
    function des(a,b){
      return b-a;
    }
    document.write("排序降序后数组:"+x.join(",")); //输出排序后数组
 </script>
</head>
<body>
</body>
</html>

以上实例代码大家可以测试下,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
Sep 14 Javascript
JavaScript生成GUID的多种算法小结
Aug 18 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
jQuery+ajax实现动态执行脚本的方法
Jan 27 Javascript
AngularJS基础 ng-readonly 指令简单示例
Aug 02 Javascript
vue-router:嵌套路由的使用方法
Feb 21 Javascript
JS简单实现自定义右键菜单实例
May 31 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
Jun 27 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 Javascript
Node.js实现简单管理系统
Sep 23 Javascript
javaScript把其它类型转换为Number类型
Oct 13 #Javascript
js 实现watch监听数据变化的代码
Oct 13 #Javascript
15 分钟掌握vue-next响应式原理
Oct 13 #Javascript
Vue3.x源码调试的实现方法
Oct 13 #Javascript
使用webpack将ES6转化ES5的实现方法
Oct 13 #Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 #Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 #jQuery
You might like
刚才在简化php的库,结果发现很多东西
2006/12/31 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
php无限极分类实现方法分析
2019/07/04 PHP
DOM精简教程
2006/10/03 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python random模块常用方法
2014/11/03 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python判断telnet通不通的实例
2019/01/26 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
python实现贪吃蛇双人大战
2020/04/18 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
交通安全教育主题班会
2015/08/12 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书