我用一些像这样的对象填充数组并用div
给我这样的输出:
JSON.stringifty(obj, null, '\t');
现在我正在尝试从包含内部对象的数组中获取数据。像这样使用array.map:
[
{
"title": "here's the title"
},
{
"description": "this is a description"
}
]
当我这样做时:
var title = objArray.map(function(a) {return a.title;});
如果我像这样手动进入数组
console.log(title); //the output looks like this
,here's the title,,,
为什么会这样?如何让map函数不将这些额外的逗号添加到我返回的值中?
答案 0 :(得分:1)
是的,因为数组中的2个元素是:
{
"title": "here's the title"
}
和
{
"description": "this is a description"
}
但他们没有相同的属性:
因此,当您尝试在第二个元素中显示属性title
时,JS解释器只返回undefined
答案 1 :(得分:0)
它将返回数组中所有内容的值,因此您将在结果数组中为没有标题的对象获取这些空值。您可以在返回map函数中的值之前检查title的值。 e.g:
if (a.title) return a.title;