|
1
916
默认情况下,sort方法按字母顺序对元素排序。要进行数字排序,只需添加一个处理数字排序的新方法(SortNumber,如下所示)-
编辑:使用ES6箭头函数:
|
|
|
2
153
在以上所有答案的基础上,它们也可以用如下一行来完成:
|
|
|
3
69
array.sort 默认情况下是否执行词典排序,对于数字排序,请提供自己的函数。下面是一个简单的例子:
还要注意,排序工作“到位”,不需要分配任务。 |
|
4
35
这个答案相当于现有的一些答案,但是ecmascript 6 arrow functions 提供一种更紧凑的语法,允许我们在不牺牲可读性的情况下定义内联排序函数:
它支持于 most browsers today . |
|
|
5
14
但我同意AKS,而不是使用
你应该使用
|
|
6
13
排序函数行为如此怪异的原因从 documentation :
如果你打印 unicode point values 然后它将被清除。
这将返回:“49,49,57”。
现在,因为140000和104返回了相同的值(49),所以它削减了第一个索引并再次检查:
如果我们将其分类,那么我们将得到:
所以104在14万之前。 所以最终结果是:
结论:
要正确排序,必须将比较函数传递给
|
|
7
10
在javascript中,sort()方法的默认行为是按字母顺序对数组中的值排序。 要按数字排序,您必须定义一个数字排序函数(这非常简单):
|
|
8
8
array.prototype.sort()是对数组进行排序的Go-to方法,但我们需要注意一些问题。 排序顺序在默认情况下是词典,而不是数字,不管数组中的值类型如何。即使数组是所有数字,所有值都将转换为字符串并按字典顺序排序。 所以我们需要像下面那样定制sort()和reverse()方法吗? 用于对数组中的数字进行排序
用于反转数组中的数字
|
|
|
9
5
在新的ES6世界里,这样做要容易得多
这就是你所需要的。) |
|
|
10
4
这个问题已经被回答了,最短的方法是使用
插入排序 提升:
下降:
选择排序: 提升:
下降:
玩得高兴 |
|
|
11
4
我很惊讶为什么每个人都建议将比较函数传递给
要对数字排序,只需创建 任何 TypedArray :
|
|
|
12
2
仅限元素值的普通数组:
对于对象数组:
|
|
|
13
2
按如下方式尝试此代码
|
|
|
14
2
下面的“numerically”函数用于在许多情况下作为回调函数对数字数组进行排序:
但在一些罕见的情况下,数组包含非常大的负数,由于a-b小于javascript可以处理的最小数字,可能会发生溢出错误。 因此,编写数值函数的更好方法如下:
|
|
|
15
1
我个人最喜欢的函数形式允许参数升序或降序:
简单用法如下:
jsFiddle
或者这里的代码段示例!
.smartsort('asc''desc')
现在,使用一种排序方法来对一个包含多个项目的数组进行排序,会更有趣!目前不包括“关联”(又名字符串键),但它涵盖了所有类型的值!它不仅会对多个值进行排序
“为什么?”你问。为什么不!
现在有两种口味!第一种需要更新的浏览器
jsFiddle Array.prototype.smartSort('asc|desc')
使用简单!首先做一些疯狂的阵列,比如:
然后简单地排序!
仅方法和前面一样,只是一个简单的方法!
用途:
jsFiddle Method smartSort(Array, "asc|desc")
|
|
16
1
试试这个代码: HTML:
javascript代码:
|
|
17
0
这是我在utils库中的sort array函数:
|
|
|
18
0
要处理undefined、null和nan:null的行为类似于0、nan和undefined,将结束。
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 9 月前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 9 月前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 9 月前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 9 月前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 10 月前 |