在我们的印象里,arr.sort()方法会按升序排列数组元素
有次在处理数据时,发现使用sort排序后的数据不对
原因是:sort()方法会在每一项上调用String()转型函数,然后比较字符串来决定顺序。即时数组中的元素都是数值,也会先把数组转换为字符串再进行比较;
所以,因该也就理解了为什么 数字2排在数字10的后面
那我们该如何使用sort对数组排序才能正确呢?
升序:
arr.sort((a, b) => a - b)
降序:
arr.sort((a, b) => b - a)