我有一個comments
的數組。其中一些評論實際上是comments
內其他節點的子評論。每個comment
具有num_comments
,parent_id
和id
屬性。我知道評論有子註釋時,它的評論數量大於0.拼接錯誤的元素
我想把子註釋放在它的父註釋中,並從數組中刪除子註釋。外循環完成後,comments
數組中不應有子註釋,並且每個子註釋都將移入其父註釋的subcomments
數組中。
的問題是,這段代碼運行後,在comments
每一個項目被刪除,我也得到:
無法讀取的不確定
財產「項目」(這是一個結果的comments
爲空)
下面是我遇到的麻煩的代碼:
for comment in comments
if comment.item.num_comments > 0
comment.item.subcomments = [] unless comment.item.subcomments
for comment_second in comments # Goes through a second time to find subcomments for the comment
if comment_second.item.parent_id == comment.item.id
comment.item.subcomments.push(comment_second)
comments.splice(comments.indexOf(comment_second), 1)
編輯:
答案下面沒有工作,但它肯定是朝着正確方向邁出的一步。我混淆了一下代碼,我認爲發生的事情是temp_comment.item.subcomment
s沒有被定義爲一個數組。 這會導致一個不會被推送的錯誤。這並沒有解釋什麼是從數組中刪除。
temp_comments = comments.slice(0)
for comment in comments
for comment_second in comments
temp_comment = temp_comments[temp_comments.indexOf(comment)]
temp_comment.item.subcomements = [] unless temp_comment.item.subcomments?
if comment_second.item.parent_id == comment.item.id
temp_comment.item.subcomments.push(comment_second)
temp_comments.splice(temp_comments.indexOf(comment_second), 1)
comments = temp_comments
我得到了同樣的錯誤消息之前
2日編輯:
錯誤實際上是[] is not a function
我更新了帖子 –
@Jarred你有錯誤的行號?我懷疑沒有任何東西會被刪除,因爲它錯誤並在它結束之前停止運行,所以comments = temp_comments永遠不會發生。 –
它發生在https://gist.github.com/d163b5d50d1747d671bc的第12行 –