百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> javascript arr.sort数组排序函数用法
分享文章到:

javascript arr.sort数组排序函数用法

发布时间:01/15 来源: 浏览: 关键词:
sort是array对象自带的方法,可以对array中的元素按升序的方式进行排列。如果sort方法没有指定参数,那么array的元素会按照字符的编码数据进行排序。如果想对其他类型的元素进行排序,就需要自己实现一个比较函数作为参数传递给sort,此函数有两个参数a和b,当 a 大于 b 返回小于0的数,a 等于 b 返回0,否则返回一个大于0的值。

需要注意的是排序是在原array上进行的,不会生成副本。

例如一个array为[20,17,15,30,100],默认排序后的结果为100,15,17,20,30。可以看到并不是按照数值的大小排序,如果想要按照数值的大小排序,可以自己实现一个function,如:

 代码如下

function intSort(a, b) {
  return a - b;
}

var arr = [20,17,15,30,100];
arr.sort(intSort);

//或通过匿名函数的方式

arr.sort(
  function(a, b) {
    return a - b;
  }
);

//倒序排序
arr.sort(intSort).reverse();另外如果想按照倒序排列,可以先对array进行sort,然后调用reverse方法即可。

 代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Javascript数组排序</title>
<script type="text/javascript">
s = [
 {first:'joe',last:'awk'},
 {first:'zwe',last:'oli'},
 {first:'joe',last:'asp'}
];
for(var i=0;i<s.length;i++){
 document.write(s[i].first + " " + s[i].last + "<br/>");
}
document.write("<hr/>")
s.sort(function(a,b){
 var result = a.first.localeCompare(b.first);
 if(result == 0)
  result = a.last.localeCompare(b.last);
 return result;
})
for(var i=0;i<s.length;i++){
 document.write(s[i].first + " " + s[i].last + "<br/>");
}
</script>
</head>
<body>
</body>
</html>

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板