如何在四十个循环中停止循环

How stop a looping in the fourty loop

我正在从我的数据库中提取数据,并通过我的控制器发送我的视图。日期快到了,我正在循环渲染 HTML 中的数据。

问题是我只想显示 4 个项目,而不是全部。我该如何解决?

例如:

<% for(var i = 0; i < data.length; i++ { %>
 <p> <%= data[i].name %>
 <p> <%= data[i].age %>
<% } %>

我只想渲染 4 次。如何实现?

谢谢!

像这样:

<% for(var i = 0; i < data.length && i<4; i++ { %>
 <p> <%= data[i].name %>
 <p> <%= data[i].age %>
<% } %>

我会做类似的事情:

<% for(var i = 0,max = (data.length > 4 ? 4 : data.length); i < max; i++ { %>
 <p> <%= data[i].name %>
 <p> <%= data[i].age %>
<% } %>

这样做是将循环迭代 4 次或数据长度(以较短者为准)。如果你没有那个条件,你可能会进入一个越界的索引(例如,如果 data.length 是 2)。

编码说明:在 for 循环开始时声明 max 是一个好习惯。它更具可读性,并且为了性能起见,数据的长度属性的查找只发生一次(而不是每次迭代)。


根据评论更新

添加其他条件(如 if the pageName = 'home')

<% for(var i = 0,max = ( (data.length > 4 && pageName === 'home') ? 4 : data.length); i < max; i++ { %>
 <p> <%= data[i].name %>
 <p> <%= data[i].age %>
<% } %>