0
//array

let posts = [{
    text: "First post!",
    id: "p1",
    comments: [{
        id: "c1",
        text: "First comment on first post!"
      },
      {
        id: "c2",
        text: "Second comment on first post!!"
      },
      {
        id: "c3",
        text: "Third comment on first post!!!"
      }
    ]
  },
  {
    text: "Aw man, I wanted to be first",
    id: "p2",
    comments: [{
        id: "c4",
        text: "Don't wory second poster, you'll be first one day."
      },
      {
        id: "c5",
        text: "Yeah, believe in yourself!"
      },
      {
        id: "c6",
        text: "Haha second place what a joke."
      }
    ]
  }
]


//loops
const removeComment = function(postId, commentID) {

  for (let post in posts) {
    if (posts[post].id == postId) {

      for (let Comment of posts.comments) {

        if (posts.comments[comment].id == commentID) {

          comment.splice(comment, 1)
        }
      }

    }
  }


}

//invoking the function

tweeter.removeComment("p2", "c6")

特定の投稿 (「p2」など) のコメント (「c6」など) にアクセスして、配列から削除しようとしています。

コメント オブジェクトを処理するために、for-if にネストされた for を書きました。エラーは発生しませんが、最初の for-if は正常に動作しています。ありがとう

4

1 に答える 1