javascript读取前五个值

时间:2012-06-29 04:29:55

标签: javascript loops foreach

我在forEach子句中提取了一些值

 data.forEach(function(content){
  ...
  controller.setAttribute(value from data);
  ...}

这对我有用。但数据循环迭代接近20次。而我的控制器只能采用5个值。因此,上面示例中的控制器采用last five值。

如何在读取first five值后限制我的数据退出。我需要在那里有一些柜台吗?

或者控制器还有其他方式只能读取first five吗?

5 个答案:

答案 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]);
}