暂无 | 68

sort 方法实例

例子 1

下面是省略 sortby 参数的例子,元素包含了数字,字符,布尔等数据类型。

<script language="JavaScript">
 
var array_1 = new Array('abc','xyz',234,true,'123a','字符');
array_1.sort();
document.write( array_1 );
 
</script>

运行该例子,输出:

123a,234,abc,true,xyz,字符

注意:在原数组中,有元素是布尔值 true ,经过排序后该值仍然是布尔值,只是在排序时,按照字符串 'true' 来比较。

例子 2

下面是省略 sortby 参数,但元素是纯数字时的排序例子:

<script language="JavaScript">
 
var array_1 = new Array(10,5,1000,21,1);
array_1.sort();
document.write( array_1 );
 
</script>

运行该例子,输出:

1,10,1000,21,5

可见默认情况下,对数字排序并没有按照由小到大顺序来排序(实际是按照字符编码来排序)。要想按照大小顺序来排序,必须使用 sortby 参数,参见下面的例子。

例子 3

下面的例子使用 sortby 参数,将数字由小到大进行排序:

<script language="JavaScript">
 
function asc( x,y )
{
    return x - y;
}
 
var array_1 = new Array(10,5,1000,21,1);
array_1.sort( asc );
document.write( array_1 );
 
</script>

运行该例子,输出:

1,5,10,21,1000

可见在经过多次比较之后,数字小的元素就被排到前面去了。

例子 4

下面的例子使用 sortby 参数,将奇数排在前面:

<script language="JavaScript">
 
function odd ( x,y )
{
    if( x % 2 ==0 ){
        return 1;
    } else {
        return -1;
    }
 
}
 
var array_1 = new Array(10,5,1000,21,1);
array_1.sort( odd );
document.write( array_1 );
 
</script>

运行该例子,输出:

5,1,21,10,1000

参考阅读

  1. JavaScript Array reverse 方法:颠倒数组中元素的顺序

0

java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    Rich Text Editor
    最新评论