2017-06-19 71 views
0

我想遍歷對象的數組,但我從一個REST API服務,有時物體的嵌套數組的父對象將丟失,例如:驗證嵌套對象的存在

var data = [ 
    { 
    "post": { 
     "message": "this is a test", 
     "comments": [ 
     { 
      "comment_text": "this is a comment" 
     } 
     ] 
    } 
    } 
] 

如果我要遍歷的意見,但沒有保證的postcomment對象將是目前我目前使用的預驗證:

if (data && data.post && data.post.comments) { 
    //iteration 
} 

是否有這樣做的確認部分的更清潔的方式?

回答

0

ImmutablsJS(在它的核心功能 - 不可變性之外)的好處之一是它暴露的不錯的API。 如果您的數據是不可變的Map對象,您可以遍歷comments這樣的:

data.getIn(['post', 'comments'], List()).map(...) 

注意到,此代碼將工作沒有任何if聲明,你可以通過一個可選的默認結果getIn,在這種情況下,空List