JavaScript Array.sort不适用于某些数字数组

nim*_*ima 4 javascript arrays sorting

我正在尝试对数字数组使用JavaScript的排序函数,有时它不会做任何事情:

var a = [200,20].sort(); // [20,200]
var b = [200,21].sort(); // [200,21]
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

geo*_*org 5

默认情况下,Javascript将所有内容排序为字符串(=字母顺序).字符串"200"小于字符串"21".要排序为数字,您必须告诉它:

[200,21].sort(function(a,b) { return  a-b })
Run Code Online (Sandbox Code Playgroud)