我在forEach
子句中提取了一些值
data.forEach(function(content){
...
controller.setAttribute(value from data);
...}
这对我有用。但数据循环迭代接近20次。而我的控制器只能采用5个值。因此,上面示例中的控制器采用last five
值。
如何在读取first five
值后限制我的数据退出。我需要在那里有一些柜台吗?
或者控制器还有其他方式只能读取first five
吗?
答案 0 :(得分:2)
您可以使用JavaScript的Array#slice
方法:
data.slice(0, 5).forEach(function (content){
// ...
});
答案 1 :(得分:2)
如果我理解得当,这应该有效:
for (i=0; i<Math.min(data.length, 5); ++i) {
controller.setAttribute(value from data[i])
}
但是,由于您似乎正在使用具有Array.forEach
的实现,因此也是如此:
data.slice(0,5).forEach(function(content) {
controller.setAttribute(value from content)
}
答案 2 :(得分:1)
如果您使用的是ECMA forEach
,则回调会收到三个参数,第二个是索引。
data.forEach(function(content, index) {
if (index >= 5) return;
// ...
});
答案 3 :(得分:1)
您可以在值参数之后传递索引参数并使用:
data.forEach(function(content, index){
if (index < 5) {
controller.setAttribute(value from data);
}
});
答案 4 :(得分:0)
你可以使用计数器或for循环。例如:
for(var i=0; i<5; i++){
controller.setAttribute(data[i]);
}