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

标签 javascript arrays sorting

<分区>

我正在尝试对数字数组使用 JavaScript 的排序函数,但有时它什么也没做:

var a = [200,20].sort(); // [20,200]
var b = [200,21].sort(); // [200,21]

jsfiddle

最佳答案

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

[200,21].sort(function(a,b) { return  a-b })

关于JavaScript Array.sort 不适用于某些数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21989665/

相关文章:

javascript - 如何 jasmine 测试 jQuery post ajax 属性(例如 url)

javascript - 单击后 AngularJS "double checking"中的复选框

javascript - 如果 ajax 完成,则将 html 替换为请求的数据

c - 如何从数组中删除整数循环(例如 1-2-3-1)

javascript - 如何对数据表中的容量列进行排序

c++ - 对数组C++中的最大和最小值进行排序

javascript - 在没有 jQuery 的情况下拖动元素

c# - 当我们在 C# 中重新分配数组时,数组的值是否被破坏?

arrays - 是否可以在不重复长度的情况下声明指定类型的静态数组?

java - 使用一些规则对文本进行排序