标签:javascript sort
根据javascript的手册,将sort()方法进行运算,结果
<script> var arr = [2,3,56,12,546,77,98]; alert(arr.sort()); </script>
l根据javascript的手册,将sort()方法进行运算,结果如下:
可以看到这并不是我们需要的排序,于是根据手册的提示:
如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
于是我封装一个函数demosort()
<script>
var arr = [2,3,56,12,546,77,98];
arr.sort(function demosort(x, y){
if (x< y) {
return -1; //小于,返回-1
} else if (x > y) {
return 1; //大于返回1
} else { //其他,返回 0
return 0;
}
});
alert(arr);
</script>这样的话,再次通过sort()函数即可实现正确的排序。
结果如下:
这样就实现了真正意义上的排序。至于逆序可以将返回值相反,或者直接使用 reverse()函数。
本文出自 “你好我是森林” 博客,请务必保留此出处http://chensenlin.blog.51cto.com/10559465/1862152
标签:javascript sort
原文地址:http://chensenlin.blog.51cto.com/10559465/1862152