你如何在 EJS 中执行 for 循环/for each?

Posted

技术标签:

【中文标题】你如何在 EJS 中执行 for 循环/for each?【英文标题】:How do you do a for loop/for each in EJS? 【发布时间】:2018-08-22 05:30:06 【问题描述】:

我知道它必须进入 ,但我不确定它是否与典型的 forEach/for 循环有很大不同。 EJS网站上的文档非常有限,所以我来了。

<% include ../../partials/header %>

<body>
  <main>
    <h1>List of all quotes</h1>
    <ul>
      <li> <!-- for loop goes here, inside flounder -->
        <%
        all quote stuff goes here
        author
        content
        wrap it in a link to its quote page
      </li>
    </ul>
  </main>
</body>

</html>

【问题讨论】:

@Tsardines 如果您找到了答案,请提交并接受此问题的答案。 @JasonSpradlin 我在下面发布了我的解决方案。 请注意,embeddedjs.com 链接现在是一个赌场网站。 EJS的主页移到这里:ejs.co 【参考方案1】:

下面是关于 Embeddedjs 的示例:

    <ul>
<% for(var i=0; i<supplies.length; i++) %>
   <li><%= supplies[i] %></li>
<%  %>
</ul>

这就是我所做的:

<% include ../../partials/header %> <
<body>
  <main>
    <h1>List of all quotes</h1>
    <ul>
      <% for(var i = 0; i < author.length; i++) 
        <li><%= author[i] %></li>
      <%  %>

      <% for(var i = 0; i < content.length; i++) 
        <li><%= content[i] %></li>
      <%  %>

    </ul>
  </main>
</body>

</html>

【讨论】:

你现在可以接受这个答案了,这样以后有同样问题的人就会知道这是正确的答案 根据 Stack 我可以在两天内接受它作为答案。我想这是因为他们想给其他用户回应的机会。 啊有趣。那好吧。【参考方案2】:

假设您有一个学生 JSON 对象,其中包含学生姓名、年份和课程的详细信息,然后您可以使用 forEach 进行循环,如下所示。

<ul>
 <% students.forEach(function(student)  %>
    <li> Name:<%= student.name %> Course:<%= student.course %></li>
 <% ); %> 
</ul>

上面的作者和引用问题同样适用

【讨论】:

【参考方案3】:

我想使用 forEach 数组方法并将索引作为第二个参数传递并执行以下操作:

<% orders.products.forEach((order,index) => %>
            <tr>
              <td><%= index+1 %></td>
              <td><%= order.description %></td>
              <td><%= order.price %></td>
              <td><%=order.quantity %></td>
              <td><%=orders.amount %></td>
              <td><%=order.salesTax %></td>
              <td><%=order.tax %></td>
              <td><%=order.amount %></td>
            </tr>
            <% );%> <% %>

【讨论】:

以上是关于你如何在 EJS 中执行 for 循环/for each?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个for循环不执行?

for循环中,为啥不执行循环?

for循环内的回调函数-Nodejs

C语言中退出for循环的方法?

java 大量for循环如何优化

for循环执行顺序中外面的花括号和表达式3哪个先执行