js数组字符串按照长度用sort排序_JavaScript Array sort 方法:对数组的元素进行排序...

JavaScript Array sort 方法

Array 对象的 sort 方法用于对数组的元素进行排序。语法如下:

array_object.sort( sortby )

参数说明:

参数

说明

array_object

要操作的数组(对象)

sortby

可选。规定排序顺序的函数。

注意:sort 方法会直接在原数组上进行排序而不会生成副本。

说明

如果省略 sortby 参数,非字符串元素将被转换为字符串,然后按照字符编码的顺序进行升序排序;如果提供了排序函数,该函数接受两个元素参数,分别代表排序比较时的两个元素。如果函数返回值大于 0 ,就将两个元素位置进行交换,反之则不交换,具体可参见例子3。

sort 方法实例

例子 1

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

var array_1 = new Array('abc','xyz',234,true,'123a','字符');

array_1.sort();

document.write( array_1 );

运行该例子,输出:

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

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

例子 2

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

var array_1 = new Array(10,5,1000,21,1);

array_1.sort();

document.write( array_1 );

运行该例子,输出:

1,10,1000,21,5

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

例子 3

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

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 );

运行该例子,输出:

1,5,10,21,1000

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

例子 4

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

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 );

运行该例子,输出:

5,1,21,10,1000

参考阅读

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值