重排序方法

数组中已经存在的两个可以直接用来重排序的方法:sort() 和 reverse()。

reverse()

会反转数组顺序

var values = [0,1,2,3,4,5];
values.reverse();
alert(values);  //5,4,3,2,1,0

但是会受数据以影响不够灵活;

sort()

默认按升序排列数组项;
sort()方法会电泳每个数组项的toString()方法,然后比较得到的字符串,以确定如何排序。

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

即使例子中值得顺序没问题,但sort()方法会根据测试字符串的结果改变原来的顺序,虽然数值5小于数值10,但在字符串比较式,"10"则位于"5"之前。解决方法

function compare(value1, value2){
  if(value1 < value2){
    return -1
  }else if(value > value2){
    return 1
  }else{
    return 0
  }
}

这个例子适用于大多数数据类型

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容