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