0

希望是一个非常简单的问题。

在 Backbone.js 中,我将如何将未知长度的集合减少到设定长度?因此,该系列有 10 个模型。我希望它是 2。我该怎么做?我不关心我从集合中提取的顺序,它已经被洗牌并且应该是随机的,但是我该如何减少集合呢?

谢谢!凸轮

4

3 回答 3

1

您可以使用切片

var myCollection = new Backbone.Collection(...);
_.each( myCollection.models.slice(-2), function(model) {
    console.log(model.get("id"));
});

.slice(-2)抓取最后一项和倒数第二项。slice使用从零开始的索引并提取最多但不包括最后指定索引的值。

于 2013-04-12T08:12:44.733 回答
0

可能有更好的方法,但是...

while (myCollection.size() > 2)
    myCollection.pop();
于 2013-04-11T19:13:18.177 回答
0

我敢打赌所有这些答案都会奏效,而且它们执行起来都非常简单,我不敢相信我什至问过这个问题,但我最终以这种方式解决了它。

for (i=0; i < renderamount; i++){
    shortdata.push(shuffleddata[i]);
}

只需使用 for 循环从旧数组构建一个新数组,并将其长度限制为我在新集合中需要的模型数量。

谢谢你们。

于 2013-04-12T15:16:34.080 回答