javascript从包含对象的数组中获取字段

时间:2016-07-27 18:08:37

标签: javascript arrays javascript-objects

我用一些像这样的对象填充数组并用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函数不将这些额外的逗号添加到我返回的值中?

2 个答案:

答案 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;