码迷,mamicode.com
首页 > 编程语言 > 详细

数组的sort方法

时间:2015-06-23 17:23:31      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

    今天在看《JavaScript高级程序设计第三版》时,学到了数组的sort方法。知道这个方法,但是一直没仔细研究过,这次发现,它是把数组内的值用toSting()变为字符串再进行比较,这样的话,无法保证排出来的顺序的正确性,比如

var values = [0, 1, 5, 10, 15];
values.sort();
alert(values); //0,1,10,15,5

因为数值 5 虽然小于 10, 但在进行字符串比较时, "10" 则位于 "5" 的前面, 于是数组的顺序就被修改了。

如何让它一定准确呢,书上给了个很好的解决方法,原来,sort()方法还可以带参数:


function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}

var values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values); //0,1,5,10,15


这时,改变compare()函数可以达到降序排序的效果。

数组的sort方法

标签:

原文地址:http://www.cnblogs.com/lulu-beibei/p/4595595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!