javascript - 循环遍历对象并成对打印

标签 javascript node.js

我有一个对象video用于我的node.js应用程序的 View ,其中包含以下内容。

{ 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 key in video) { %>
 <li><%= video[key] %></li>
<% } %>

这给了我这个

<li>title[0] title[1] title[2]</li>
<li>url[0] url[1] url[2]</li>

如何才能使其按以下方式打印?

<li>title[0] url[0]</li>
<li>title[1] url[1]</li>
<li>title[2] url[2]</li>

最佳答案

根据对象的结构,并假设您有与视频一样多的网址,您应该执行以下操作:

<% for (var i = 0; i < video.title.length; i++) { %> 
    <li><%=video.title[i]%> <%=video.url[i]%></li>
<% } %>

编辑

如果你想使用当前正在尝试的循环,你应该像这样构建你的对象:

// Video will be a list of objects
var video = [];

Object.keys(data.list).forEach(function(item) {
    video.push({
        title : data.list[item].resolved_title,
        url : data.list[item].resolved_url
    )};
})

然后,您将能够像这样编写循环:

<% for (var key in video) { %>
     <li><%= video[key].title %> <%=video[key].url%></li>
<% } %>

关于javascript - 循环遍历对象并成对打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33103705/

相关文章:

javascript - 获取和处理数组的 Promise

javascript - 使用 JavaScript 映射和缩减 JSON 对象

node.js - Mocha 测试用例在 Promise 获取数据之前执行

node.js - Express.js 和 Socket.io

javascript - 如何动态添加输入字段和子字段

javascript - Onclick 事件 - 多次点击

javascript - 点击按钮后 CSS 和 javascript 就消失了

javascript - CORS 预检请求的奇怪问题在 IE 11 上失败

node.js - ioredis-如果redis关闭,则忽略请求

java - 跟踪对网页内容的更改