2017-09-16 114 views
0

我有陣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' ... –

回答

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);

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))