检查对象键是否具有属性,如果是,请检查.length值

时间:2017-09-28 17:29:56

标签: javascript javascript-objects

如何检查对象是否具有某个键,然后计算"值的数量"那个钥匙有吗?

enter image description here

(图片显示:numberOfComments对象)

我想查看post.id以及类似的内容。

if (post.id === Object.keys(numberOfComments) {
   const numOfComment = (numberOfComments Value).length

   return numOfComment

} else if (post.id !== Object.keys(numberOfComments) { 
   const numOfComment = 0
   return numOfComment
}

此案例应返回2。 当然,一个重要特征是它需要是动态的。 post.id并不总是一样的。

这意味着从Redux商店返回一个对象,检查帖子是否有任何评论,如果是,则显示评论数量。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果要检查对象是否具有属性,可以使用if( obj[property])。在您的情况下,您可以轻松地将上面的代码压缩到一行。

return (numberOfComments[post.id] ? numberOfComments[post.id].length : 0);

答案 1 :(得分:0)

你可以这样做

首先检查你的对象是否在其键中包含post.id的值,然后如果这是真的你从numberOfComments [post.id]得到值并返回它的长度,否则post.id是找不到,你返回0。

if(Object.keys(numberOfComments).indexOf(post.id)) {
  return numberOfComments[post.id].length;
} else {
 return 0;
}

欢呼声