jQuery-以升序对数组进行排序

Cip*_*ian -2 jquery

我需要对nrArray数组进行排序:

var nrArray = nrArray.sort();
Run Code Online (Sandbox Code Playgroud)

上面是做什么的:

[“ 1”,“ 17”,“ 206”,“ 22”,“ 3”,“ 6”]

我需要这个:

[“ 1”,“ 3”,“ 6”,“ 17”,“ 22”,“ 206”]

Amm*_*CSE 5

传入一个比较回调并使用parseIntlike

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)

更新

您实际上不需要parseIntasa/b会自动转换为数字。这是因为您正在减去并且 javascript 执行必要的类型转换。但是,不能说相同,a + b因为这是字符串连接。


Aru*_*hny 5

这是因为默认情况下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)