Heim  >  Artikel  >  Web-Frontend  >  js数组Array sort方法使用深入分析_javascript技巧

js数组Array sort方法使用深入分析_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:41:511108Durchsuche

javascript 中 Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列,实例代码如下:

复制代码 代码如下:

var arrA = [6,2,4,3,5,1];
arrA.sort();
document.writeln(arrA);
//结果是:1,2,3,4,5,6

sort() 方法可以接受一个 方法为参数 ,这个方法有两个参数。分别代表每次排序比较时的两个数组项。
sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。
实例如下:
复制代码 代码如下:

var arrA = [6,2,4,3,5,1];
/**//*arrA.sort();
document.writeln(arrA);
*/
function desc(x,y)
...{
if (x > y)
return -1;
if (x return 1;
}
function asc(x,y)
...{
if (x > y)
return 1;
if (x return -1;
}
arrA.sort(desc); // sort by desc
document.writeln(arrA);
document.writeln("
");
arrA.sort(asc); //sort by asc
document.writeln(arrA);
//输出结果:
6,5,4,3,2,1
1,2,3,4,5,6

另外,可以直接把一个无名函数直接放到sort()方法的调用中。如下的例子是将奇数排在前面,偶数排在后面,例子如下:
复制代码 代码如下:

var arrA = [6,2,4,3,5,1];
arrA.sort( function(x, y) ...{
if (x % 2 ==0)
return 11;
if (x % 2 !=0)
return -1;
}
);
document.writeln(arrA);
//输出:1,5,3,4,6,2
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