数组排序与乱序

一、规则排序

sort()方法在默认情况下按照升序排列数组项---即从小到大排序,为了实现排序,sort()方法会调用每一项的toString()转型方法,来比较得到的字符串,以确定如何排序。
即使数组中每一项都是数值sort()比较的也是字符串

var values = [0, 1, 5, 10, 15];
values.sort();
alert(values);     //0,1,10,15,5

所以想要比较数值的时候,单单使用sort()方法是不准确的,我们需要一个比较函数作为sort()的参数。

var values = [0, 1, 5, 10, 15];
values.sort(function(prev,next){
  return prev-next;
});
alert(values);    // 0,1,5,10,15

想要反转数组的顺序只需要执行reserve()方法即可。

乱序

乱序的话需要对sort()中的比较函数返回值做一些操作,让返回值随即为正(升序)、负(降序);

var values = [0, 1, 5, 10, 15];
values.sort(function(prev,next){
    //因为Math.random产生的数在0-1之间
    //所以0.5两边的概率是相等的
    //大于0.5时为升序,小于0.5时为降序
  return Math.random() - 0.5;
});
alert(values);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,391评论 0 20
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 698评论 0 0
  • 马大马大,你为许多的事情思虑烦恼,但不可缺少的是,马利亚已经选择了那上好的福分,是没有人能夺去的。今天是主日,来到...
    凌贤武阅读 240评论 0 0
  • 晚上与沫扬和海琼一起去游泳,碰到汤珊也在那。这是今年第二次去游泳。 刚下水,还是有莫名的恐惧。扶着边边犹豫了好久不...
    葡萄jing阅读 348评论 0 0