nan*_*a92 2 javascript arrays sorting lodash
我正在尝试基于整数属性对对象数组进行排序。当使用lodash的方法时_.sortBy(),顺序是按预期的,但是当我使用内置的方法时,这是不正确的。
在此处检查代码段:jsbin link。这不是最易读的示例。我无法弄清楚我编写的排序方法出了什么问题。延迟值为0的对象应该在数组中保持其原始顺序,但是使用本机sort方法不会发生这种情况。请在评论中让我知道是否应编辑示例以更清楚。
您的排序方法似乎没有错。但是,您的期望可能并不完全正确。
_.sortBy()使用稳定的排序算法。如果遇到彼此相等的元素(例如您的0延迟值),则会以找到它们的顺序将其离开。
http://underscorejs.org/#sortBy
Array.prototype.sort()另一方面,不能保证的算法是稳定的。
如果compareFunction(a,b)返回0,则a和b彼此相对不变,但对所有不同元素进行排序。注意:ECMAscript标准不保证此行为,因此并非所有浏览器(例如,至少可追溯到2003年的Mozilla版本)都遵守此规定。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |