sorterFn的返回值被限制为-1/0/1。我还在源代码的注解中发现了这种期望。为什么不直接返回any negative number/0/any positive number呢?我不是在问为什么有一个比较器可以方便地返回-1/0/1是好的。我想问的是,为什么框架的作者决定限制我们使用-1/0/1,而JS本身在其比较器回调中允许any negative number/0/any positive number。
-1/0/1
any negative number/0/any positive number
cxfofazt1#
基本上,您可以使用任何数字,只要它们有顺序,如-1/0/1或-12/0/200。下面是一个示例:
sorters: [{ sorterFn: function(person1, person2) { let lhs = person1.data.name, rhs = person2.data.name; return (lhs > rhs) ? 200 : (lhs === rhs ? 0 : -12); } }],
这是小提琴,它显示了小提琴!!!首先,你可能要考虑一下PeterKoltai和aaandri 98的评论!!!此外,为了保持代码对每个人(现在和将来)都可读,您可能希望使用静态数字,即-1/0/1。而规则是:因为Ext.Array.binarySearch内部的部分,所以一个必须为负,一个为正
if (comparison >= 0) { begin = middle + 1; } else if (comparison < 0) { end = middle - 1; }
1条答案
按热度按时间cxfofazt1#
基本上,您可以使用任何数字,只要它们有顺序,如-1/0/1或-12/0/200。
下面是一个示例:
这是小提琴,它显示了小提琴
!!!首先,你可能要考虑一下PeterKoltai和aaandri 98的评论!!!
此外,为了保持代码对每个人(现在和将来)都可读,您可能希望使用静态数字,即-1/0/1。
而规则是:因为Ext.Array.binarySearch内部的部分,所以一个必须为负,一个为正