2017-09-04 100 views
1

我使用的是YouTube搜索库获取JavaScript对象

search(searchTerm, opts, function(err, results) { 
      if (err) return console.log(err); 

      console.dir(results); 
     }); 

,它返回一个JS对象与第一视频发现这样

[ { id: 'xsPHeH-pNQU', 
link: 'https://www.youtube.com/watch?v=xsPHeH-pNQU', 
kind: 'youtube#video', 
publishedAt: '2015-04-10T19:36:16.000Z', 
channelId: 'UC9EZGiMrK8-OYbLH3Yfj_QQ', 
channelTitle: 'IQ Tests | Personality Tests | Funny Test Videos', 
title: '✔ Which Nickname is Perfect For You? (Personality Test)', 
description: 'What nickname fits you best? What is your cute nickname? What is your best nickname? What should your nickname be? Be my friend on Facebook ...', 
thumbnails: { default: [Object], medium: [Object], high: [Object] } } ] 

我试图提取路段出了这通过使用

var videoUrl = results.link; 

var videoUrl = results["link"]; 

但每次我得到它登录到控制台什么videoUrl是,它一直说未定义。完整的代码看起来像这样

var searchTerm = message.content.slice(8, 2000); 
     search(searchTerm, opts, function(err, results) { 
      if (err) return console.log(err); 
      var videoUrl = results.link; 
      console.dir(results); 
      console.log(videoUrl); 
      message.channel.send(videoUrl); 
     }); 

任何想法我做错了什么?

回答

0

该对象位于数组中,因此您需要引用数组中的项目。因为它是阵列中的第一个项目,所以需要使用[0]

var videoUrl = results[0].link;