我有一个对象video
用于我的node.js应用程序的视图,其中包含以下内容。
{ title:
[ 'Jason Fried: Why work doesn\'t happen at work',
'John Maeda: How art, technology and design inform creative leaders',
'From Storytelling to Storylistening: John Maeda (Future of StoryTelling 2014)' ],
url:
[ 'https://www.youtube.com/watch?v=5XD2kNopsUs&feature=youtu.be',
'http://www.youtube.com/watch?v=WAuDCOl9qrk&feature=youtu.be',
'http://www.youtube.com/watch?v=U8-Q70gV2Yk&feature=youtu.be' ] }
我试图遍历这些键并打印所有值,但我不确定我的方法是否在正确的轨道上。 因为我没有打印任何东西。
<% for (var i = 0; i < video.length; i++) {
var videoAtr = video[i];
for (var key in videoAtr) { %>
<li>
<%= video[i][key] %>
</li>
<% }
} %>
更新
我想按照以下方式打印。
答案 0 :(得分:1)
由于关联数组是JavaScript中的对象,您可以执行此操作
for (var key in p) {
if (p.hasOwnProperty(key)) {
console.log(key + " -> " + p[key]);
}
}
if条件是检查属性是否来自原型,因为您的对象位于上方
你的代码不起作用的原因是因为它是一个对象,它不存储长度属性
修改强>
要让<li>
显示
<% for (var i = 0; i < video.length; i++) { %>
<li>
<%for (var key in video) { %>
<%= video[key][i] %>
<% }%>
</li>
<% } %>