Backbone.Collection 对象代理了UnderscoreCollection.shuffle(),因此所有 Backbone 集合都有方法shuffle()。
下划线的洗牌工作正常:

如果我只想打乱下划线集合中的最后 5 个项目,可以通过以下方式完成slice():

您还可以对 Backbone 集合进行切片和洗牌:

fetch但是对于从数据库中多次获取项目的主干集合,我似乎不能只对上次fetch调用获取的项目进行洗牌,因为集合中的项目似乎是按它们被获取的顺序排序的,即使在之后一个切片洗牌。
a.models // say, [id:1, id:2, id:3]
a.fetch().done(function (data) {
return data = _.shuffle(data)
})
a.models // [id:1, id:2, id:3, id:4, id:5, id:6], still sorted
似乎在延迟对象内部进行排序不会以任何方式改变外部集合。
那么,我怎样才能只n对 Backbone Collection 末尾的项目进行排序呢?