我需要对nrArray
数组进行排序:
var nrArray = nrArray.sort();
Run Code Online (Sandbox Code Playgroud)
上面是做什么的:
[“ 1”,“ 17”,“ 206”,“ 22”,“ 3”,“ 6”]
我需要这个:
[“ 1”,“ 3”,“ 6”,“ 17”,“ 22”,“ 206”]
传入一个比较回调并使用parseInt
like
var arr = ["1", "17", "206", "22", "3", "6"];
arr.sort(function(a, b){
return parseInt(a)- parseInt(b);
});
console.log(arr);
Run Code Online (Sandbox Code Playgroud)
更新
您实际上不需要parseInt
asa/b
会自动转换为数字。这是因为您正在减去并且 javascript 执行必要的类型转换。但是,不能说相同,a + b
因为这是字符串连接。
这是因为默认情况下sort()方法将基于字符串进行比较
compareFunction
可选。指定定义排序顺序的函数。如果省略,则根据每个字符的Unicode代码点值,以及每个元素的字符串转换,对数组进行排序。
var nrArray = ["22", "17", "8", "206", "1", "3", "6"];
nrArray.sort(function(a, b) {
return a - b;
});
console.log(nrArray)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2867 次 |
最近记录: |