前端基础知识记录

js中的array排序小结

2017-07-12  本文已影响64人  大写的Q

数组中有两个可以重新排序的方法:reverse()和sort()

reverse()

表示反转数组项的顺序

sort()

在默认情况下会按从小到大对数组进行排序,因此如果恰好有个数组arr = [1,10,5,15,5],按照预想,arr.sort()之后顺序应该为[1,5,10,15]。

但是!由于sort()调用的是toString()方法,然后比较得到的字符串。因此在对arr排序时,由于'10'位于'5'的前面,因此运行arr.sort()之后,结果实际为[1,10,15,5,5],所以,为了保持排序的正确性,可以在sort()方法传递一个比较函数,如下:

function compare(num1, num2) {

  return num1 - num2;

};

arr.sort(compare);//结果为[1,5,5,10,15]

参考:《Javascript高级程序设计》(第3版)

上一篇 下一篇

猜你喜欢

热点阅读