2017-06-19 99 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