如何从API响应中提取Array



你好,我正在使用https://www.npmjs.com/package/ytfps包从youtube播放列表中获取url和标题。作为对ytfps(url).then(playlist =>{console.log(util.inspect(playlist))}的响应给出的格式如下:

{
title: 'Music Playlist',
url: 'https://www.youtube.com/playlist?list=PLoXvI0xCls_7WZpfvrqwBNqlnZTMylyTvdo6',
id: '7WZpfvrqwBNqlnZTMylyTvdo6',
video_count: 16,
view_count: 16,
description: '',
isUnlisted: false,
thumbnail_url: 'https://i.ytimg.com/vi/jBmkNzfqFZUSW4/hqdefault.jpg',
author: {
name: 'Default',
url: 'https://www.youtube.com/user/gadfgagaq',
avatar_url: 'https://yt3.ggpht.com/ytc/AKedOLQoEJLXJMV2t3MRgadfqNuhWk46GwnYr7r1DAgnGbsQ=s176-c-k-c0x00ffffff-no-rj'
},
videos: [
{
title: 'Barei - Say Yay! (Eurovision 2016 Spain)',
url: 'https://www.youtube.com/watch?v=jBmkNzFZUW4',
id: 'jBmkNzFZUW4',
length: '3:07',
milis_length: 187000,
thumbnail_url: 'https://i.ytimg.com/vi/jBmkNzFZUW4/hqdefault.jpg',
author: [Object]
},
{
title: 'Sound of Silence',
url: 'https://www.youtube.com/watch?v=4S6sT_2gM2o',
id: '4S6sT_2gM2o',
length: '3:16',
milis_length: 196000,
thumbnail_url: 'https://i.ytimg.com/vi/4S6sT_2gM2o/hqdefault.jpg',
author: [Object]
},
]
}

我想要的是得到两个数组一个是url,另一个是标题,像这样:

url= [https://www.youtube.com/watch?v=jBmkNzFZUW4', 'https://www.youtube.com/watch?v=4S6sT_2gM2o', and so on... ]
titles =['Barei - Say Yay! (Eurovision 2016 Spain)', 'Sound of Silence', and so on ]
那么提取这两个数组的最佳方法是什么呢?

try This:

let urls = [];
let titles = [];
playlist.videos.forEach(element => {
urls.push(element.url);
titles.push(element.title);
});
console.log("urls",urls);
console.log("titles",titles);

你只需要迭代视频。然后,对于每个视频,提取url并将结果放入url数组中。对于标题也是如此,提取标题并将结果放入标题数组中。

例如:

const urls = [];
const titles = [];
playlist.videos.forEach(video => {
urls.push(video.url);
titles.push(video.title);
});
console.log(urls);
console.log(titles);

你可以声明两个独立的数组,将视频数组映射到你的对象上,并相应地推送到这些数组,

:


const videoTitle = [];
const videoUrl = [];
playlist.videos.map(v => {

videoTitle.push(v.title)
videoUrl.push(v.url);
});

最新更新