sort()的用法:
sort()是数组操作的一个方法,之前简单的说过一下,并没有看重,今天用到了就详细的说一下。先看下面的使用方法:
1
|
arrayobj.sort(
function
);
|
arrayobj为目标数组,function为sort()方法执行的函数,如果不写这个参数,那么元素将按照 ASCII 字符顺序进行升序排列。
如果有函数,那么sort()方法会把数组中的元素两两传进执行的函数,如果返回为1则调换两个元素的位置,如果返回为-1则不变化。
注意:在执行的过程中,并不会生成新的数组对象。
使用sort()生成随机打乱数组:
看了上面的介绍应该明白了sort()用法,那么我们一起来看一下代码吧:
1
2
3
4
5
6
7
|
function
autoSort(a,b){
//生成随机数跟0.5比较
return
Math.random() >= 0.5 ? 1 : -1;
}
var
arr = [
"a"
,
"b"
,
"c"
,
"d"
];
arr.sort(autoSort);
//往autoSort中两两传入数组元素
alert(arr);
//打乱顺序之后的随机数组。
|
上面的方法就是依赖autoSort()函数产生的随机数,如果>=0.5则返回1,小于0.5则返回-1。 从而sort()也就会随机排序数组了。
使用sort()按指定字段给数组排序
1
2
3
4
5
6
7
|
//此排序小的在前 反之则为大的在前
if(a. keyword > b. keyword){ return 1; }else{ return -1; } }
targetArry.sort(sortDate);
|