我的 commentsArray
中有很多级别的嵌套评论(这是从API中提取的,无法更改)
commentsArray = [
{
author: "jeff"
replies: [
{
author: "jeff"
replies: [
{
author: "simon"
}
]
},
{
author: "simon"
}
]
},
{
author: "simon"
}
]
我还有一个递归函数 dialogueParse ,如果有问题的对象有“回复”,则会自行调用
dialogueParse = (comment) ->
for child in comment
if child.author is "simon"
console.log "Simon was found.."
if child.replies
dialogueParse child
但是,此代码似乎无法正常工作。我最初调用函数后:
dialogueParse commentsArray
..由于某种原因,只找到位于第一级(在数组末尾)的那个。
“ simon ”在3个不同的地方列为作者。
我一直在研究这个问题好几个小时而且无处可去。任何帮助都非常感谢! :)
答案 0 :(得分:2)
你不应该在递归中传递child.replies
作为参数吗?
如:
dialogueParse = (comment) ->
for child in comment
if child.author is "simon"
console.log "Simon was found.."
if child.replies
dialogueParse child.replies