javascript中的sort()方法
2012-07-12 22:46
232 查看
现在在学习javascript中,发现sort()函数是有点奇怪的东西(可能是本人水平的问题-_-!),于是就在这里记录一下自己找到的东西吧。sort()这个方法的参数很奇怪,必须是函数,但也是可选参数,如果没有参数的话,就会默认以字符串的字典顺序来排列(就算是数值,也会被转化为字符串来处理)。这个参数是要能够比较两个值的大小,如:
function sortNumber(a, b){
return a - b; //这里返回的是他们的差值,如果是小于0的值,就会将a排在前面,如果大于0,就会将b排在前面,如果是0的话,就随便。(冒泡排序法!!)
}
应用如下(这个例子太经典了!!):
<script type="text/javascript">
function sortNumber(a,b){return a - b}
var arr = new Array(3)
arr[0] = "10";
arr[1] = "5";
arr[2] = "4";
document.write(arr + "<br />");
document.write(
</script>
那么原本是10,5,4的排列就会变成4,5,10.这里说明一下这个过程,明明sortNumber应该是有两个参数,但是我们在调用时却一个参数都没有,怎么进行比较啊?这里是这样的,当arr从第一个数开始调用sort时,10前面是没有数与它比较的,所以就到第二个,就是5,这时10就会与5比较,于是就会调用sortNumber并将10和5传进去,这是sort()的特性。
function sortNumber(a, b){
return a - b; //这里返回的是他们的差值,如果是小于0的值,就会将a排在前面,如果大于0,就会将b排在前面,如果是0的话,就随便。(冒泡排序法!!)
}
应用如下(这个例子太经典了!!):
<script type="text/javascript">
function sortNumber(a,b){return a - b}
var arr = new Array(3)
arr[0] = "10";
arr[1] = "5";
arr[2] = "4";
document.write(arr + "<br />");
document.write(
arr.sort(sortNumber));
</script>
那么原本是10,5,4的排列就会变成4,5,10.这里说明一下这个过程,明明sortNumber应该是有两个参数,但是我们在调用时却一个参数都没有,怎么进行比较啊?这里是这样的,当arr从第一个数开始调用sort时,10前面是没有数与它比较的,所以就到第二个,就是5,这时10就会与5比较,于是就会调用sortNumber并将10和5传进去,这是sort()的特性。
相关文章推荐
- Javascript中数组的sort()和reverse()方法
- javascript中sort方法排序
- JavaScript sort() 方法详解
- JavaScript sort方法分析。
- JavaScript sort() 方法
- JavaScript数组sort方法(数组排序)
- javascript中Array.sort()方法
- javascript中数组排序方法sort()用法
- [ javascript ] js中array的sort()方法!
- javascript中数组的sort()方法
- Javascript 中 Array的 sort()和 compare()方法
- Javascript数组(array) sort方法的解释和分析
- Javascript数组(array) sort方法的解释和分析
- javascript中的一些常用方法:call() , apply() , slice() , sort()
- JavaScript sort() 方法数组排序数字【每日一段代码93】
- JavaScript sort() 方法
- Javascript中数组的sort方法的分析
- 分针网—每日分享:JavaScript学习笔记:数组的sort()和reverse()方法
- javascript 利用Array的sort方法,对Array进行排序 (Array里面放的是对象而不是字符串)
- Javascript数组(array) sort方法的解释和分析