Js中如何使用sort()

2020-03-18 16:00:38来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

大家在学习js的时候是不是都会接触到sort()呢?那么sort()是什么?我们在Js中如何使用sort()呢?接下来小编就用实例为大家介绍Js中使用sort()的方法。

返回一个元素已经进行了排序的?Array?对象。

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?

Demo(数字排序,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(Demo3反排序):

?

?

?

?

?

<script>?
??var?numArr?=?new?Array(12,23,1,4,23,34,2,5);?
??numArr.sort(function?compare(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

Demo4(Demo3的第二种写法):

?

?

?

?

?

<script>?
??var?numArr?=?new?Array(12,23,1,4,23,34,2,5);?
??numArr.sort(new?Function("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

Demo5(Demo3的第三种写法):

?

?

?

?

?

<script>?
??function?compare(a,b)?{?
????return?a-b;?
??}?
??var?numArr?=?new?Array(12,23,1,4,23,34,2,5);?
??numArr.sort(compare);?
??for?(var?i?=?0;?i<numArr.length;?i++)?{?
????document.write(numArr[i]?+"<br>");?
??}?
</script>?


结果:
1
2
4
5
12
23
23
34

Demo6(Demo3的第四种写法):

?

?

?

?

?

<script>?
??var?compare?=?function(a,b)?{?
????return?a-b;?
??}?
??var?numArr?=?new?Array(12,23,1,4,23,34,2,5);?
??numArr.sort(compare);?
??for?(var?i?=?0;?i<numArr.length;?i++)?{?
????document.write(numArr[i]?+"<br>");?
??}?
</script>?


结果:
1
2
4
5
12
23
23
34

以上就是Js中如何使用sort()的内容,其实默认的sort方法并不是按照整形数据来排序,而是用的字符串匹配方式。


原文链接:https://js.aizhan.com/develop/JavaScript/12181.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何用算法删除重复数据

下一篇:?javascript如何控制上传文件的大小