Javascript 如何解决未定义属性的node.js错误?
我有这个错误消息 无法读取未定义的属性“title” 当我使用posts.forEach进行遍历时,它工作得很好。但是 当与for循环一起使用时,它停止工作。 你能帮忙吗 这是我的密码Javascript 如何解决未定义属性的node.js错误?,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我有这个错误消息 无法读取未定义的属性“title” 当我使用posts.forEach进行遍历时,它工作得很好。但是 当与for循环一起使用时,它停止工作。 你能帮忙吗 这是我的密码 <section class="forum"> <ul class="pages"> <% for (var i = 1; i <= Math.ceil(posts.length / 3); i++) { %> <li><
<section class="forum">
<ul class="pages">
<% for (var i = 1; i <= Math.ceil(posts.length / 3); i++) { %>
<li><a href="#<%=i%>"><%= i %></a></li>
<% } %>
<% var pages = i %>
</ul>
<div class="tabbedPages">
<div class="tabbedPage">
<% for (var i = 1; i <= pages; i++) { %>
<div class="page" id="<%=i%>">
<table>
<tr>
<th>Title</th>
<th>Replies</th>
<th>Last Message</th>
</tr>
<% for (var j = (i - 1) * 3; j < (i * 3) ; j++){ %>
<tr>
<td>
<h2><%= posts[j].title %></h2>
<h2><%= posts[j].author %>,
<% var diff = posts[j].date - Date.now %>
<% var msec = diff
var dd = Math.floor(msec / 1000 / 60 / 60 / 24);
msec -= dd * 100 * 60 * 24;
var hh = Math.floor(msec / 1000 / 60 / 60);
msec -= hh * 1000 * 60 * 60;
var mm = Math.floor(msec / 1000 / 60);
msec -= mm * 1000 * 60;
var ss = Math.floor(msec / 1000);
msec -= ss * 1000;
%>
<% if (dd >= 1) { %>
<%= dd %> days ago
<% } else if (hh >= 1) { %>
<%= hh %> hours ago
<% } else if (mm >= 2) { %>
<%= mm %> minutes ago
<% } else if (mm == 1) { %>
1 minute ago
<% } else { %>
Moments ago
<% } %>
</h2>
</td>
<td>
<h2>Replies: <%= posts[j].posts.length%></h2>
</td>
<td>
<h2>
<% if (posts[j].posts.length == 0 ) { %>
Not Available Yet
<% } else { %>
<%= posts[j].posts[posts[j].posts.length - 1].author %>
<% } %>
</h2>
<h2>
<% var diff = posts[j].date - Date.now %>
<% var msec = diff
var dd = Math.floor(msec / 1000 / 60 / 60 / 24);
msec -= dd * 100 * 60 * 24;
var hh = Math.floor(msec / 1000 / 60 / 60);
msec -= hh * 1000 * 60 * 60;
var mm = Math.floor(msec / 1000 / 60);
msec -= mm * 1000 * 60;
var ss = Math.floor(msec / 1000);
msec -= ss * 1000;
%>
<% if (dd >= 1) { %>
<%= dd %> days ago
<% } else if (hh >= 1) { %>
<%= hh %> hours ago
<% } else if (mm >= 2) { %>
<%= mm %> minutes ago
<% } else if (mm == 1) { %>
1 minute ago
<% } else { %>
Moments ago
<% } %>
</h2>
</td>
</tr>
<% } %>
</table>
<% } %>
</section>
几天前
= 1) { %>
几小时前
= 2) { %>
几分钟前
一分钟前
刚才
答复:
还没有
= 1) { %>
几天前
= 1) { %>
几小时前
= 2) { %>
几分钟前
一分钟前
刚才
你能告诉我这个代码到底出了什么问题吗?你希望每页有3篇文章,但最后一页也可能有1到2篇文章。因此你需要添加另一个检查:
<% for (var j = (i - 1) * 3; j < (i * 3) && j < posts.length ; j++){ %>
您希望每页有3篇文章,但最后一页也可能有1或2篇文章。因此,您需要添加另一项检查:
<% for (var j = (i - 1) * 3; j < (i * 3) && j < posts.length ; j++){ %>
在某个时刻索引j发布[j]。没有找到title
,但我不理解这里的for逻辑:for(var j=(i-1)*3;j<(i*3);j++){
在某个时刻索引j发布[j]。title
没有找到,但我不理解这里的for逻辑:for(var j=(i-1)*3;j<(i*3);j++){
我需要像你这样的人来做我的主人。你刚刚启发了我的生活。你能做我的绝地大师并给我指路吗?@Nodesayan在网站上提问可能会对你有更大的帮助……而且别忘了给好帖子投赞成票,给不好的帖子投反对票,并把最好的答案记下来!我需要像你这样的人来做我的主人。你已经做到了st启发了我的生活。你能成为我的绝地大师并给我指路吗?@Nodesayan在网站上提问可能会对你有更多帮助…也别忘了对好帖子投赞成票,对坏帖子投反对票,并将最好的答案标记为已接受!