数组中sort()方法
来源:互联网 发布:淘宝淘口令在线生成 编辑:程序博客网 时间:2024/05/20 10:21
今天更正了对数组中sort()方法的错误认识。
var values = [0,1,5,10,15];values.sort();console.log(values);//输出0,1,10,15,5
以前一直认为结果应该是0,1,5,10,15,结果与事实不符。原来sort()方法是通过调用每个数组项的toString()方法,比较得到的字符串来实现排序的。即使数组中的每一项都是数值,sort()方法比较的也是字符串,虽然5<10,但是在进行字符串比较时,"10"则位于"5"前面。
因此,sort()可以接受一个比较函数作为参数,以便我们指定哪个值位于前面。
var values = [0,1,5,10,15];values.sort(compare);console.log(values);function compare (value1,value2) {if (value1 < value2) {return -1;} else if (value1 > value2) {return 1;} else {return 0;}}//输出0,1,5,10,15
如果第一个参数应该位于第二个之前则返回一个负数,反之返回一个正数,如果相等就返回0。
现在实现的是升序,反过来就可以实现降序。
对于上述比较函数,我们可以简化:
var values = [0,1,5,10,15];values.sort(compare);console.log(values);function compare (value1,value2) {return value1 - value2;}
0 0
- 数组中sort()方法
- javascript中数组的sort()方法
- javascript中数组排序方法sort()用法
- 数组的sort方法
- 数组排序方法sort()
- 数组方法sort()
- 数组中sort
- JavaScript中数组sort方法的跨浏览器问题
- javascript中数组的sort()方法原理研究
- js中数组的sort()方法及原理
- java中数组排序arrays.sort方法应用
- Javascript 数组 中的 sort方法
- 数组sort方法的原理
- js数组排序sort方法
- JS数组 sort()方法使用
- python中sort方法
- 关于数组的.sort()方法案例:删除数组中重复的元素并排序
- 数组的创建、数组的复制、Arrays中sort/binarySearch方法
- 【POJ】2457 Part Acquisition bfs
- 第27课 多线程详解 以及股票软件的分析
- Kafka 精萃
- 笛卡尔树cartesian tree
- 黑马程序员19——OC之Fundation(NSDate)
- 数组中sort()方法
- 笔记07 类
- android中handler存在的意义:
- google C/C++编程风格的一些摘要
- 我录制的《从设计到模式》教程已经赚取159.20元【仲秋促销,免费赠送】
- [Windows PowerShell03]-PowerShell面向对象
- 九度oj-1077-最大序列和
- 兼容解决 IE 、火狐、谷歌浏览器中 Iframe框架的页面缓存的方法
- 黑马程序员_socket