js中sort的用法

arrayobj.sort(sortfunction)  
参数 
arrayObj  
必选项。任意 Array 对象。  
sortFunction  
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。  
说明 
sort 方法将 Array 对象进行适当的排序; 
在执行过程中并不会创建新的 Array 对象。 


如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:  
负值,如果所传递的第一个参数比第二个参数小。  
零,如果两个参数相等。  
正值,如果第一个参数比第二个参数大(才会执行操作)。


Demo1(默认按字母排序)
<script language="javascript">  
  var nameArr = new Array("douguoqiang","hedan","redhacker","panliu888","maxuan","xuejianping","lanse","zhangsan","lisi","wangwu");  
  nameArr.sort();  
  for (var i = 0; i < nameArr.length; i++) {  
    document.writeln(nameArr[i]);  
  }  
</script> 

输出结果:douguoqiang hedan lanse lisi maxuan panliu888 redhacker wangwu xuejianping zhangsan


demo2(数字排序,sort(prama)方法带参数)
<script>  
  var numArr = new Array(12,23,1,4,23,34,2,5);  
  numArr.sort(function compare(a,b){return a-b;});  
  for (var i = 0; i<numArr.length; i++) {  
    document.write(numArr[i] +"<br>");  
  }  
</script> 

输出结果:1、2、4、5、12、23、23、34


demo3(反排序操作)
<script>  
  var numArr = new Array(12,23,1,4,23,34,2,5);  
  numArr.sort(function compare(a,b){return b-a;});  
  //上一句话也可以这样写
  numArr.sort(new Function("a","b","return b-a;"));
  for (var i = 0; i<numArr.length; i++) {  
    document.write(numArr[i] +"<br>");  
  }  
</script> 

输出结果:34 、23 、23 、12 、5 、4 、2 、1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScriptsort方法用于对数组进行排序。sort方法可以接受一个可选的比较函数作为参数,用于指定排序规则,默认是按照Unicode字符编码顺序进行排序。 比较函数需要接受两个参数a和b,分别表示将要比较的两个元素,返回值为一个数字。如果返回值小于0,则表示a应该排在b的前面;如果返回值大于0,则表示a应该排在b的后面;如果返回值等于0,则表示a和b的相对位置不变。 下面是sort方法的基本使用方法: ```js const arr = [3, 2, 1]; arr.sort(); // 默认按照Unicode字符编码顺序进行排序 console.log(arr); // 输出 [1, 2, 3] arr.sort((a, b) => b - a); // 按照从大到小的顺序进行排序 console.log(arr); // 输出 [3, 2, 1] ``` 在上面的例子,我们首先使用了默认的排序规则(按照Unicode字符编码顺序),然后使用了一个比较函数(`(a, b) => b - a`)来改变排序规则,使得数组按照从大到小的顺序进行排序。 需要注意的是,sort方法会改变原数组,而不是返回一个新数组。如果希望保留原数组,可以先使用slice方法复制一份,再对复制后的数组进行排序。 除了比较函数之外,sort方法还可以接受一个可选的参数options,用于指定排序规则。这个参数可以是一个字符串或一个函数。如果是一个字符串,则表示按照该字符串指定的排序规则进行排序。目前支持的字符串值有"asc"(升序,默认值)和"desc"(降序)。如果是一个函数,则表示按照该函数指定的排序规则进行排序。详细用法可以参考JavaScript官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值