为什么Backbone比​​较器不能比较两个对象?

问题描述:

在Ruby和Java中,您将一个对象与另一个对象进行比较,并根据这两个对象的顺序返回一个数字。 Backbone has support仅基于单个对象进行排序。为什么Backbone比​​较器不能比较两个对象?

这似乎是反主动和更复杂的。为什么Backbone会这样做?使用这种技术有优势吗?

+0

您是否介意澄清“完全基于单个对象”的含义?我得到的印象是您在Backbone中提到的比较器机制,但单从上​​下文无法确定。 – Gabriel 2012-08-17 17:33:33

+1

如果您创建了一个采用单个参数的比较器函数,那么您将其写入,以便返回可与标准比较运算符进行比较的值'' – jackwanders 2012-08-17 17:38:03

+0

返回单个值的表单在某些情况下更易于使用。例如,如果您想对数字标识进行排序,那么您只需返回该标识,而不是编写完整的比较函数。 – 2012-08-17 21:35:11

the docs

比较器功能可以被定义为无论是sortBy(通过一个函数,一个参数),或者作为一种(传递需要两个参数的比较器功能)。

这意味着,你可以实现在传统方式Comparator:有两个参数的行为类似本地JavaScript sort功能阵列功能。
骨干只是增加了另一种排序从underscore借来的收藏。

+0

我刚刚看到这个,但它并没有真正回答为什么要以其他方式做这件事。我想这与性能有关,但我正在寻求某种确认。 – Sam 2012-08-17 17:41:34

+0

这不是关于表现,它只是一个选择。此外,我认为“排序”应该更快,因为它是本地数组功能。 – 2012-08-18 22:24:03

+0

@Sam我认为这回答了你的问题,它告诉你,你对_“Backbone支持基于**单独对象**的错误支持是错误的。 – fguillen 2012-08-19 11:44:22