我有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))
答案 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))