JavaScript中的分组注释

JavaScript中的分组注释,javascript,underscore.js,Javascript,Underscore.js,我有一个注释对象数组。每个注释都有一个主键、注释文本、发布日期和线程id。线程id指的是父注释的主键 鉴于以下三点意见 var comments = [ {content: "parent comment", primary_key: 1, date_posted: 12/10/14, thread_id: null}, {content: "another parent comment", primary_key: 2, date_posted: 12/11/14, threa

我有一个注释对象数组。每个注释都有一个主键、注释文本、发布日期和线程id。线程id指的是父注释的主键

鉴于以下三点意见

var comments = [
    {content: "parent comment", primary_key: 1, date_posted: 12/10/14, thread_id: null},
    {content: "another parent comment", primary_key: 2, date_posted: 12/11/14, thread_id: null},
    {content: "reply", primary_key: 3, date_posted: 12/11/14, thread_id: 1}
]
如何返回排序后的注释数组,其中对父注释的所有回复都将跟随父注释,最好按日期排序

我已经能够使用

_.filter(comments, function(comment) { return comment.thread })  
但我正在努力使他们与评论相一致

期望的产出将是

[
    {content: "parent comment", primary_key: 1, date_posted: 12/10/14, thread_id: null},
    {content: "reply", primary_key: 3, date_posted: 12/11/14, thread_id: 1},
    {content: "another parent comment", primary_key: 2, date_posted: 12/11/14, thread_id: null}
]

小提琴:想想你在问什么。如果你有[1,2,3,4,5],2是5的父,你想把它归类为[1,2,5,3,4],但这可以解释为1是2的父,它是5的父,它是3的父,请拉小提琴?并为您提供预期的输出want@JonathanM我不认为OP想要做一个完全可重构的排序;只是一个没有回复的评论列表。你真正想做的是什么?也许分层对象结构是最好的。在您的示例中,键入错误:[……]注释对象周围缺少。