【发布时间】:2021-11-19 19:54:07
【问题描述】:
Ext.util.Sorter.sorterFn 返回值限制为-1/0/1。我还在源代码中的 cmets 中发现了这种期望的提及。
为什么不直接返回any negative number/0/any positive number?
我不是在问为什么有一个可以方便地返回 -1/0/1 的比较器是件好事。
我在问为什么框架的作者决定用 -1/0/1 限制我们,即使 JS 本身在其比较器回调中允许 any negative number/0/any positive number。
【问题讨论】:
-
这是一个非常基本的排序机制。它决定是否从排序的角度来看两个输入值是否相等 (0),或者第一个在 (-1) 之前还是在 (1) 第二个参数之后。其他数字是什么意思?
-
@PeterKoltai 问题是关于为什么我们坚持使用
-1/0/1,为什么不简单地使用any negative number/0/any positive number。 -
@AndreyGodyaev 我认为这只是一个效率考虑。
-
@PeterKoltai 最有效的数字比较器是
(a, b) => a - b,因此不能作为效率考虑因素。
标签: extjs comparator