【发布时间】:2016-09-08 09:59:02
【问题描述】:
在此处查看 jsfiddle:https://jsfiddle.net/remenyLx/2/
我的数据包含对象,每个对象都有一组图像。我只想要每个对象的第一张图片。
var data1 = [
{
id: 1,
images: [
{ name: '1a' },
{ name: '1b' }
]
},
{
id: 2,
images: [
{ name: '2a' },
{ name: '2b' }
]
},
{
id: 3
},
{
id: 4,
images: []
}
];
var filtered = [];
var b = data1.forEach((element, index, array) => {
if(element.images && element.images.length)
filtered.push(element.images[0].name);
});
console.log(filtered);
输出需要平坦:
['1a', '2a']
我怎样才能让这个更漂亮?
我对 JS map、reduce 和 filter 不太熟悉,我认为这些会让我的代码更合理; forEach 感觉没必要。
【问题讨论】:
标签: javascript arrays json ecmascript-6