linux sort 随机排序,sort排序以及随机排序(示例代码)

今天来说一下数组中比较强大的排序方法sort。

sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。

如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如果有必要的话),以便进行比较。

如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下:

如果根据你的评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值。

如果a等于b,就返回0。

如果a大于b,就返回一个大于0的值。

注意,数组中undefined的元素都排列在数组末尾。即使你提供了自定义的排序函数也是这样,因为undefined值不会被传递给你提供的orderfunc。

举例说明:

从小到大规律排序:

var arr=[1,3,45,64,43,32];

arr.sort(function(a,b){return a-b;

});//从小到大排序

console.log(arr); //[1,3,32,43,45,64]

从大到小规律排序:

var arr=[1,3,45,64,43,32];

arr.sort(function(a,b){return b-a;

});//从大到小排序

console.log(arr); //[64,45,43,32,3,1]

关于字符串的从小到大排序:

var arr1=[‘320px‘,‘640px‘,‘1120px‘,‘240px‘,‘35px‘];

arr1.sort(function(a,b){return parseInt(a)-parseInt(b);//是字符串一定先转变为number类型比较,否则按照字符串的排序进行

});//从小到大排序

console.log(arr1); //["35px", "240px", "320px", "640px", "1120px"]

注意:真正的字符串排序会按照字符串的编码大小进行排序,而我所说的字符串排序是指字符串转化为number类型进行排序。当然若是从大到小的排序也是要转化格式然后b-a进行。这个就不多说了!

接下来说一下无规律排序,即随机排序的方法,来看代码:

//随机排序

var arr2=[1,2,3,4,5,6,7,8,9];

arr2.sort(function(a,b){return Math.random()-0.5;

});

console.log(arr2);//每次刷新一次,随机排序将会变化一次

若是用随机排序的话,必须要用到Math.random()这个方法,当然减掉的0.5也可更改为0到1之间任何数字。

好了,关于数组带的排序,今天就说到这里!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值