Hur*_*elu 53 javascript arrays sorting
除了克隆数组然后对其进行排序的本地方式之外,是否存在更适合非破坏性排序的算法和现有实现?
需要在不更改源的情况下将浮点数组排序到新数组中.我的搜索结果相当薄,因为大多数文献都专注于通过就地排序来降低内存需求.
使用本机sorted = [].slice().sort()工作正常.这个问题是关于理解是否存在其他高性能排序实现,因为无论如何都需要新的数组,因此删除了内存约束.
shu*_*ird 55
有一种更简单的语法,可以使用ES6扩展运算符对数组进行不可变的排序:
[...array].sort(sortFn)
Run Code Online (Sandbox Code Playgroud)
Sze*_*sui 42
由于评论重复了几次:
shuffledArray.slice().sort() 是默认的方式. 看作非破坏性排序的动机与编写功能代码有关,你正在看Ramda ...如果你还没有,请查看Facebook的ImmutableJS库.
特别是Seq.您可以开始将浮点数组存储在a中Seq,对其进行排序,并确保原始Seq保持正确的顺序.此外,它还利用了Lazy评估.
http://facebook.github.io/immutable-js/docs/#/Seq
http://facebook.github.io/immutable-js/docs/#/Seq/sortBy
| 归档时间: |
|
| 查看次数: |
16236 次 |
| 最近记录: |