使用递归处理数组的Javascript数组

使用递归处理数组的Javascript数组,javascript,arrays,recursion,Javascript,Arrays,Recursion,我正在制作一个实时聊天应用程序,允许你回复其他人。数据存储在每个新消息都有一个数组来存储对它的回复的地方,因此数组可能看起来像 FIRST MESSAGE ---REPLY TO FIRST MESSAGE ---REPLY TO SUB MESSAGE ---REPLY TO FIRST MESSAGE ---REPLY TO SUB MESSAGE ---REPLY TO SUB MESSAGE 我目前正在使用以下代码: function process (obj, fu

我正在制作一个实时聊天应用程序,允许你回复其他人。数据存储在每个新消息都有一个数组来存储对它的回复的地方,因此数组可能看起来像

FIRST MESSAGE
---REPLY TO FIRST MESSAGE
   ---REPLY TO SUB MESSAGE
---REPLY TO FIRST MESSAGE
   ---REPLY TO SUB MESSAGE
   ---REPLY TO SUB MESSAGE
我目前正在使用以下代码:

function process (obj, func) {
    func(obj);
    if (obj.child) {
        obj.child.forEach(function (child) {
            process(child, func);
        });
    }
}
我将其称为(数据是所有消息的数组):

for(i=0;i

这似乎只得到了每条消息的第一个回复,而忽略了其余的回复。有没有关于递归函数的想法可以防止这种情况?我真的被困在这里了。谢谢你的帮助

别客气!我得到了它。我需要调用流程函数内部的另一个循环,如:

for (i = 0; i < data.length; i++) {
    process(data[i]['replies'], function (obj) {
        for (c = 0; c < obj.length; c++) {
        }
    });
}
for(i=0;i
for (i = 0; i < data.length; i++) {
    process(data[i]['replies'], function (obj) {
        for (c = 0; c < obj.length; c++) {
        }
    });
}