js中数组(Array)的排序(sort)注意事项说明


Posted in Javascript onJanuary 24, 2014

直接看代码吧,测试结果也贴在里面了

var arrDemo = new Array();
 arrDemo[0] = 10;
 arrDemo[1] = 50;
 arrDemo[2] = 51;
 arrDemo[3] = 100;
 arrDemo.sort(); //调用sort方法后,数组本身会被改变,即影响原数组
 alert(arrDemo);//10,100,50,51 默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序
 arrDemo.sort(function(a,b){return a>b?1:-1});//从小到大排序
 alert(arrDemo);//10,50,51,100
 arrDemo.sort(function(a,b){return a<b?1:-1});//从大到小排序
 alert(arrDemo);//100,51,50,10

结论:

1.数组调用sort方法后,会影响本身(而非生成新数组)

2.sort()方法默认是按字符来排序的,所以在对数字型数组排序时,不可想当然的以为会按数字大小排序!

3.要改变默认的sort行为(即按字符排序),可以自行指定排序规则函数(如本例所示)

Javascript 相关文章推荐
JavaScript Event学习第十章 一些可替换的事件对
Feb 10 Javascript
Fixie.js 自动填充内容的插件
Jun 28 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
jQuery获取多种input值的简单实现方法
Jun 20 Javascript
Javascript闭包与函数柯里化浅析
Jun 22 Javascript
jquery轮播的实现方式 附完整实例
Jul 28 Javascript
利用jquery实现瀑布流3种案例
Sep 18 Javascript
Vue.js学习之计算属性
Jan 22 Javascript
React + webpack 环境配置的方法步骤
Sep 07 Javascript
JS立即执行函数功能与用法分析
Jan 15 Javascript
vue实现的上拉加载更多数据/分页功能示例
May 25 Javascript
vue-cli4.5.x快速搭建项目
May 30 Vue.js
Array 重排序方法和操作方法的简单实例
Jan 24 #Javascript
JS数组去重与取重的示例代码
Jan 24 #Javascript
关于js数组去重的问题小结
Jan 24 #Javascript
js数组去重的常用方法总结
Jan 24 #Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 #Javascript
js判断60秒以及倒计时示例代码
Jan 24 #Javascript
innerText 使用示例
Jan 23 #Javascript
You might like
php设计模式 Factory(工厂模式)
2011/06/26 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
Python的历史与优缺点整理
2020/05/26 Python
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
管理学院毕业生自荐信范文
2014/03/10 职场文书
卖房协议书样本
2014/10/30 职场文书
2014年法院工作总结
2014/11/24 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
解决Oracle数据库用户密码过期
2022/05/11 Oracle