Heim  >  Artikel  >  Web-Frontend  >  Js中sort()方法的用法_基础知识

Js中sort()方法的用法_基础知识

WBOY
WBOYOriginal
2016-05-16 19:24:471243Durchsuche

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

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

如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 

负值,如果所传递的第一个参数比第二个参数小。 
零,如果两个参数相等。 
正值,如果第一个参数比第二个参数大。 
Demo1(默认按字母排序):

复制代码 代码如下:
<script> <BR> var nameArr = new Array("douguoqiang","hedan","redhacker","panliu888","maxuan","xuejianping","lanse","zhangsan","lisi","wangwu"); <BR> nameArr.sort(); <BR> for (var i = 0; i < nameArr.length; i++) { <BR> document.writeln(nameArr[i]); <BR> } <BR></script> 

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

Demo(数字排序,sort(prama)方法带参数):

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

结果:
1
2
4
5
12
23
23
34

Demo3(Demo3反排序):

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

结果:
34
23
23
12
5
4
2
1

Demo4(Demo3的第二种写法):

复制代码 代码如下:
<script> <BR> var numArr = new Array(12,23,1,4,23,34,2,5); <BR> numArr.sort(new Function("a","b","return a-b;")); <BR> for (var i = 0; i<numArr.length; i++) { <BR> document.write(numArr[i] +"<br>"); <BR> } <BR></script> 

结果:
1
2
4
5
12
23
23
34

Demo5(Demo3的第三种写法):

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

结果:
1
2
4
5
12
23
23
34

Demo6(Demo3的第四种写法):

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

结果:
1
2
4
5
12
23
23
34
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn