我试图让Each枚举对象的属性并显示唯一的结果。例如,我试图遍历服务器中的所有消息,仅显示当前用户是发件人的消息 。在执行此操作时,我想拉起所有接收者,为每个接收者创建一个组,并显示与该接收者交互的每条消息。但是,我只能显示所有消息,但是如果接收方出现两次,它将使用同一接收方而不是一个创建两个单独的组。
我试图枚举所有属性,但出现一条错误消息,提示您不能在对象的属性上应用for Each。
<% message.forEach(function(message){%>
<% message.sender.id.forEach(function(message){ %>
<% if(currentUser._id.equals(message.sender.id)) {%>
<div>
<p>Message sent to <%= message.receiver.username %></p>
<ul>
<li><%= message.text %></li>
</ul>
</div>
<% }); %>
<%}%>
<%});%>
我希望每个接收者都有一个div及其对应关系,我会得到多个组(在同一接收者处找到的每条消息一个组
答案 0 :(得分:0)
我认为您放错了括号。请尝试下面的代码。
建议的代码
<% message.forEach(function(message){%>
<% message.sender.id.forEach(function(message){ %>
<% if(currentUser._id.equals(message.sender.id)) {%>
<div>
<p>Message sent to <%= message.receiver.username %></p>
<ul>
<li><%= message.text %></li>
</ul>
</div>
<%};%> //I moved a bracket from this line to the next line
<%})%>
<%});%>