0

我的 commentsArray 中有许多级别的嵌套评论

(这是从 API 中提取的,无法更改)

commentsArray = [
    {
        author: "jeff"
        replies: [
            {
                author: "jeff"
                replies: [
                    {
                        author: "simon"
                    }
                ]
            },
            {
                author: "simon"
            }
        ]
    },
    {
        author: "simon"
    }
]

我还有一个递归函数dialogParse,如果有问题的对象有“回复” ,它会调用自己

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 个不同的地方被列为作者。

我已经为此工作了几个小时,但一无所获。任何帮助都非常感谢!:)

4

1 回答 1

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
于 2013-01-13T05:11:51.363 回答