在主干js或下划线js中排序对象数组

时间:2012-03-06 05:08:27

标签: model-view-controller backbone.js underscore.js

[
    {"group_id":1,"name":"All Area","parent_id":0,"date_created":1250172000,"type":"area","description":null},
    {"group_id":2,"name":"IT","parent_id":5,"date_created":1250172000,"type":"area","description":null},
    {"group_id":3,"name":"BPO","parent_id":5,"date_created":1250172000,"type":"area","description":null},
    {"group_id":4,"name":"Engineering","parent_id":5,"date_created":1250172000,"type":"area","description":null},
    {"group_id":5,"name":"Baroda","parent_id":6,"date_created":1250172000,"type":"site","description":null},
    {"group_id":6,"name":"Gujarat","parent_id":0,"date_created":1250172000,"type":"site","description":null},
    {"group_id":7,"name":"Surat","parent_id":10,"date_created":1250172000,"type":"site","description":null},
    {"group_id":8,"name":"IT","parent_id":7,"date_created":1250172000,"type":"site","description":null},
    {"group_id":9,"name":"Ahemadabad","parent_id":10,"date_created":1250172000,"type":"site","description":null},
]

我想使用主干js或下划线js生成所有数据的一个列表,使得每个项目都在其父项下。

即。这里名为'古吉拉特'的数据应首先出现,因为它没有父母。在Baroda的项目名称下面应该来了。在Baroda下,其parent_id为Baroda的group_id的项目名称应该是(item with group_id 2,3,4)。在苏拉特之下,所有的孩子都会来。如图所示,Surat和Ahemdadabad的parent_id为10,但没有group_id的项目 这里列出的10个。所以Surat和Ahemdadabad也成为主要项目。

所有数据都应放在一个无序列表中。

请参阅下面的输出格式。我需要使用此模型数据在骨干中生成视图。

  • 所有地区
  • 古吉拉特
  • 巴罗达
  • IT
  • BPO
  • 工程
  • IT
  • Ahemadabad
  • 有人有解决方案吗? 提前致谢。

    1 个答案:

    答案 0 :(得分:1)

    我建议你在这里阅读Backbone集合:

    http://backbonetutorials.com/what-is-a-collection/

    如果您需要有关如何排序或过滤的信息,可以在此处找到帮助函数:http://documentcloud.github.com/backbone/#Collection-Underscore-Methods(尤其是collection.sortBy应该有帮助)

    <强>备注

    对不起,我在评论中如此直率,但这是一个专门针对有问题/错误的人的平台,其他人可以评论解决方案的内容,我们不是为你写一整页。 / p>