为什么Backbone比较器不能比较两个对象?
问题描述:
在Ruby和Java中,您将一个对象与另一个对象进行比较,并根据这两个对象的顺序返回一个数字。 Backbone has support仅基于单个对象进行排序。为什么Backbone比较器不能比较两个对象?
这似乎是反主动和更复杂的。为什么Backbone会这样做?使用这种技术有优势吗?
答
从the docs:
比较器功能可以被定义为无论是sortBy(通过一个函数,一个参数),或者作为一种(传递需要两个参数的比较器功能)。
这意味着,你可以实现在传统方式Comparator
:有两个参数的行为类似本地JavaScript sort
功能阵列功能。
骨干只是增加了另一种排序从underscore借来的收藏。
您是否介意澄清“完全基于单个对象”的含义?我得到的印象是您在Backbone中提到的比较器机制,但单从上下文无法确定。 – Gabriel 2012-08-17 17:33:33
如果您创建了一个采用单个参数的比较器函数,那么您将其写入,以便返回可与标准比较运算符进行比较的值'' – jackwanders 2012-08-17 17:38:03
返回单个值的表单在某些情况下更易于使用。例如,如果您想对数字标识进行排序,那么您只需返回该标识,而不是编写完整的比较函数。 – 2012-08-17 21:35:11