Collections 如何在集合中移动模型?

Collections 如何在集合中移动模型?,collections,model,backbone.js,Collections,Model,Backbone.js,假设我有一个普通的主干。集合中有一些型号: var Library = Backbone.Collection.extend({ model: Book }); lib = new Library( [Book1, Book2, Book3, Book4, Book5, Book6] ]); 如何在集合中移动模型-例如,将第5个移动到第2个位置?因此,无需按模型字段排序,只需手动更改排序顺序 注意:我简化了模型Book1,…。它们当然是主干。Models.您可以直接访问模型数组

假设我有一个普通的
主干。集合中有一些型号:

var Library = Backbone.Collection.extend({
    model: Book
});

lib = new Library(
   [Book1, Book2, Book3, Book4, Book5, Book6]
]);
如何在集合中移动模型-例如,将第5个移动到第2个位置?因此,无需按模型字段排序,只需手动更改排序顺序


注意:我简化了模型
Book1,…
。它们当然是主干。Model
s.

您可以直接访问模型数组来修改顺序。粗略地说,基于这个问题,类似这样的方法应该有效:

var c = new Backbone.Collection([{id: 1}, {id: 2}, {id: 3}, {id: 4}, {id: 5}]);
console.log(c.pluck("id"));

var from_ix = 4,
    to_ix = 1;
c.models.splice(to_ix, 0, c.models.splice(from_ix, 1)[0]);
console.log(c.pluck("id"));

还有一个演示

非常感谢!我完全忘记了
集合。models
数组,认为
集合中肯定有一些功能。我因树木而错过了森林;-)