首页 > 解决方案 > 如何使用 ejs 循环来自后端的变量

问题描述

来自后端的数据是这样的: injector.camara1 injector.camara2 injector.camara3 injector.camara4

我需要使用它们来显示输入的值。我尝试使用以下方法循环变量:

<% if(var i = 0; i < 4; i++) { %>
   <td>
     <input id="camara<%= i+1 %>" name="camara<%= i+1 %>" value="<%= injector.camara[i] %>">
   </td>
% } %>

但它不是一个数组,所以它不起作用。有没有办法解决这个问题?

标签: javascripthtmlejs

解决方案


如果我理解正确,injector是一个具有多个属性的对象,例如camera1camera2...

因此,我们需要遍历对象的属性。我们可以使用for... of循环。代码如下所示:

<% for(const [key, value] of Object.entries(injector)) { %>
   <td>
     <input id="<%= key %>" name="<%= key %>" value="<%= value %>">
   </td>
% } %>

您可以在此处Object.entries查看方法文档


推荐阅读