当我在console.log中获取我得到的数据时,我得到一个看起来像这样的对象(我修剪了一些东西,使它看起来更具可读性......而且......基本上是信息的重复具有不同的价值观):
[ Submission {
title: 'Untitled',
content:
{ url: 'http://orig00.deviantart.net/8791/f/2016/079/7/b/untitled_by_wecode-d9vvg2w.png',
height: '400',
width: '400',
medium: 'image' },
text: null },
Submission {
...
},
Submission {
...
} ]
我想从每次提交的内容中获取网址。最后,我应该得到一个包含多个网址的数组。如果有任何帮助,我在nodejs工作。
答案 0 :(得分:3)
使用.map,它通过将函数应用于旧数组中的每个元素来创建新数组。
var arrayOfSubmissions = ...
var arrayOfURLs = arrayOfSubmissions.map(function(submission){
return submission.content.url
})
答案 1 :(得分:2)
.map
是你的朋友。它遍历数组的每个项目,并将添加函数的每次运行返回到新数组。
var urls = yourArray.map(function (item) {
return item.content.url;
});
答案 2 :(得分:1)
所以你在这里有一个对象数组 - 我们假设它存储在一个名为myArray
的变量中。要获取仅包含URL的新列表,您可以执行以下操作:
var listOfUrls = [];
myArray.forEach(function(obj) {
listOfUrls.push(obj.content.url);
}
这将为您提供所需的数组。这是一种简单的方法,但您也可以通过其他方式执行此操作,例如map
答案 3 :(得分:0)
var yourObject = [{
Submission: {
title: 'Untitled',
content: {
url: 'http://orig00.deviantart.net/8791/f/2016/079/7/b/untitled_by_wecode-d9vvg2w.png',
height: '400',
width: '400',
medium: 'image'
},
text: null
}
}];
// your new array of url's
var urls = [];
for (i = 0; i < yourObject.length; i++) {
urls.push(yourObject[i].Submission.content.url);
}