首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我有一个例子,在这个变量中,如何求和所有的commentId?有人有同样的案子吗?

我有一个例子,在这个变量中,如何求和所有的commentId?有人有同样的案子吗?
EN

Stack Overflow用户
提问于 2022-05-18 16:45:24
回答 1查看 35关注 0票数 -1

我有一个数据数组,我想将整个commentId与JavaScript相加。

代码语言:javascript
复制
const comments = [
  {
    commentId: 1,
    commentContent: 'Hai',
    replies: [
      {
        commentId: 11,
        commentContent: 'Hai juga',
        replies: [
          {
          commentId: 111,
          commentContent: 'Haai juga hai jugaa'
          },
          {
          commentId: 112,
          commentContent: 'Haai juga hai jugaa'
          }
        ]
      },
      {
      commentId: 12,
      commentContent: 'Hai juga',
      replies: [
          {
          commentId: 121,
          commentContent: 'Haai juga hai jugaa'
          }
        ]
      }
    ]
  },
    {
    commentId: 2,
    commentContent: 'Halooo'
    }
  ]

例如:假设有commentId [1, 2, 11, 12, 111, 112, 121]。因此,commentId.length7

EN

回答 1

Stack Overflow用户

发布于 2022-05-19 08:27:41

您需要通过递归函数来完成这一任务。因为在注释和回复之间可以有n级嵌套。看看下面的代码。

代码语言:javascript
复制
function caluclateLength(commentsOrReplies, sum=0) {
  sum += commentsOrReplies.length
  return commentsOrReplies.reduce((total, commentorReply) => (total + caluclateLength(commentorReply.replies || [])), sum)
}
console.log(comments) // should return desired result
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72293054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档