希望是一个非常简单的问题。
在 Backbone.js 中,我将如何将未知长度的集合减少到设定长度?因此,该系列有 10 个模型。我希望它是 2。我该怎么做?我不关心我从集合中提取的顺序,它已经被洗牌并且应该是随机的,但是我该如何减少集合呢?
谢谢!凸轮
希望是一个非常简单的问题。
在 Backbone.js 中,我将如何将未知长度的集合减少到设定长度?因此,该系列有 10 个模型。我希望它是 2。我该怎么做?我不关心我从集合中提取的顺序,它已经被洗牌并且应该是随机的,但是我该如何减少集合呢?
谢谢!凸轮
您可以使用切片。
var myCollection = new Backbone.Collection(...);
_.each( myCollection.models.slice(-2), function(model) {
console.log(model.get("id"));
});
将.slice(-2)
抓取最后一项和倒数第二项。slice
使用从零开始的索引并提取最多但不包括最后指定索引的值。
可能有更好的方法,但是...
while (myCollection.size() > 2)
myCollection.pop();
我敢打赌所有这些答案都会奏效,而且它们执行起来都非常简单,我不敢相信我什至问过这个问题,但我最终以这种方式解决了它。
for (i=0; i < renderamount; i++){
shortdata.push(shuffleddata[i]);
}
只需使用 for 循环从旧数组构建一个新数组,并将其长度限制为我在新集合中需要的模型数量。
谢谢你们。