zoo*_*src 2 javascript arrays sorting decimal
我似乎无法想出这个.
var arr = [2.62, 111.05, 1.05]
arr.sort();
Run Code Online (Sandbox Code Playgroud)
这会返回[1.05,111.05,2.62],但我期待[1.05,2.62,111.05].
怎么能实现这一目标?我已经阅读了一些关于编写自定义排序以分割"十进制"但没有取得任何成功的内容.
sty*_*ane 11
默认情况下,按字母顺序排序.您需要将函数传递给该sort
方法
arr.sort(function(a, b){return a-b;});
Run Code Online (Sandbox Code Playgroud)
该sort
方法默认情况下将项目作为字符串进行比较。您可以指定一个比较器函数,以任意方式进行比较。这会将项目比较为数字:
arr.sort(function(a, b){ return a - b; });
Run Code Online (Sandbox Code Playgroud)
注意:Javascript中的所有数字都是双精度浮点数,即使它们恰好包含整数值,因此对整数值和十进制值也没有区别。