返回非空对象数组形式,

问题描述:

我有阵person的说3个对象和形式,我想返回名为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

之前'map'添加'filter' ... –

你可以筛选出来与.filter:

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

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

你可以申请一个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))