js中的array排序小结

作者: 大写的Q | 来源:发表于2017-07-12 16:06 被阅读64次

数组中有两个可以重新排序的方法: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版)

相关文章

网友评论

本文标题:js中的array排序小结

本文链接:https://www.haomeiwen.com/subject/ycmbhxtx.html