gpt4 book ai didi

javascript - 主干过滤收集和分发

转载 作者:行者123 更新时间:2023-11-30 18:17:19 25 4
gpt4 key购买 nike

我有一个集合,假设有 20 个项目...我想过滤我的结果并显示其中的 5 个。指数在 5 到 9,比方说......

我的html

{{#each myCol}} <br>
<div id="{{this.controlName}}"></div>
{{/each}}

到目前为止我的 js

var myData = {
myCol: this.collection.models
};

for ( var i = 5; i < 10; i++) {
var newCol = this.collection.at(i);
}

很明显,它仍在绘制所有集合项,而不是我希望发生的索引 5 到 9...

最佳答案

集合中的 models 只是一个数组,因此您可以使用 slice :

var five_to_nine = this.collection.models.slice(5, 10);

或者你可以抛出 toArray如果您不想直接访问集合的 models,请加入组合:

var five_to_nine = this.collection.toArray().slice(5, 10);

如果您经常这样做,您还可以将 slice 方法添加到您的集合中:

var C = Backbone.Collection.extend({
//...
slice: function(begin, end) {
return this.models.slice(begin, end);
}
});

然后你可以简单地:

var five_to_nine = this.collection.slice(5, 10);

你的 five_to_nine 将是一个模型数组,所以如果你的模板需要,你必须手动 toJSON 它们:

var json = _(five_to_nine).map(function(m) { return m.toJSON() });

关于javascript - 主干过滤收集和分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com