您的位置:首页 > Web前端 > JavaScript

JavaScript中的sort排序及字典序陷阱的解决方法

2017-12-24 19:39 423 查看
在JavaScript中,数组排序我们可以直接利用sort方法进行排序

排序字符串

var Fruits = ["Banana", "Orange", "Apple", "Mango"];
Fruits.sort();


排序结果为[ “Apple”, “Banana”,”Mango”, “Orange”]

排序的方式为字典序(alphanumeric),即根据数组内元素首字母进行排序,此方法排序会改变原数组的顺序。

在元素为数字的数组中,sort方法依然会根据字典序(alphanumeric)进行排序。

排序数字(字母序)

var Num = ["1", "2", "3", "10"];
Num.sort();


排序结果为[“1”, “10”, “2”, “3”]

如果需要根据数字大小进行排序,则需将代码更改为

num.sort((a, b) => a - b)//从小到大


或者

[1,2,5,10].sort(function(a,b){return a-b;})//从小到大


排序结果为[“1”, “2”, “3”, “10”]

这里函数内执行的是冒泡排序。通过返回值的正负判断相邻两个元素是否交换位置

若需从大至小排序,则需将返回值改为b-a。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript