返回非空对象形式的数组

时间:2017-09-16 04:36:03

标签: javascript

我有3个对象的数组person和表单,我想返回名为description的对象。现在我使用map迭代person,但这里发生的是,如果有人没有description,那么它会返回undefined。我最后想得到只有description个对象的数组(没有未定义)。

const person = [
{abc: 'abc',description:{}},
{qwe:'qwe', def:'def'},
{abcd: 'abcd',description:{}}
]

console.log(person.map(indivi => indivi.description))

2 个答案:

答案 0 :(得分:1)

您可以使用.filter:

过滤掉它们

const person = [
    {abc: 'abc',description:{}},
    {qwe:'qwe', def:'def'},
    {abcd: 'abcd',description:{}}
]

const descriptions = person
    .filter(indivi => indivi.description)
    .map(indivi => indivi.description);

答案 1 :(得分:0)

在对象上调用filter之前,您可以应用description删除不具有map属性的对象。

const person = [
{abc: 'abc',description:{}},
{qwe:'qwe', def:'def'},
{abcd: 'abcd',description:{}}
]

console.log(person.filter(t => t.description).map(indivi => indivi.description))