//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 は正常に動作しています。ありがとう