Gov*_*Rai 3 javascript arrays sorting
我在chrome控制台中输入了以下代码.
var array = [25,7,8,41];
array.sort();
Run Code Online (Sandbox Code Playgroud)
它回来了[25,41,7,8].这是怎么回事?
sort()方法对数组的项进行排序.
排序顺序可以是字母顺序或数字顺序,也可以是升序(向上)或降序(向下).
默认情况下,sort()方法按字母顺序和升序将值排序为字符串.
这适用于字符串("Apple"出现在"Banana"之前).但是,如果数字被排序为字符串,则"25"大于"100",因为"2"大于"1".
因此,sort()方法在排序数字时会产生不正确的结果.
如果您希望更正此问题,可以将比较函数编写为传递给sort方法的第一个参数.参考文献中列出了一个!
编辑:发布在这里为未来的情况......
var points = [40, 100, 1, 5, 25, 10];
function myFunction() {
points.sort(function(a, b){return a-b});
console.log(points);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1055 次 |
| 最近记录: |