我正在YouTube上做一个教程,现在到了需要遍历数组的地步。但是,当我尝试在ejs模板中运行该功能时,它不起作用。任何人都知道是什么原因造成的。
这是功能
<h1><%= title %></h1>
<%= users.foreach(function(){ %>
<li><%= user.first_name %></li>
<% }); %>
这是我要遍历的javascript文件中的数组。
var users = [
{
id: 1,
first_name: 'John',
last_name: 'Doe',
email: 'johndoe@gmail.com',
},
{
id: 1,
first_name: 'Bob',
last_name: 'Smith',
email: 'bobsmith@gmail.com',
},
{
id: 1,
first_name: 'Jill',
last_name: 'Jackson',
email: 'jjackson@gmail.com',
},
];
答案 0 :(得分:1)
Array方法应为forEach()
,并且您需要将数组的每个元素作为参数传递给回调函数,因此function(user) {...}
完整代码
<% var users = [{
id: 1,
first_name: 'John',
last_name: 'Doe',
email: 'johndoe@gmail.com',
},
{
id: 1,
first_name: 'Bob',
last_name: 'Smith',
email: 'bobsmith@gmail.com',
},
{
id: 1,
first_name: 'Jill',
last_name: 'Jackson',
email: 'jjackson@gmail.com',
}]; %>
<% users.forEach(function(user) { %>
<li><%= user.first_name %></li>
<% });%>