在排序列表中排序标题的问题

时间:2011-08-25 14:46:12

标签: javascript sorting html-lists

我正在构建一个Web应用程序,在其中我使用这样的对象构建一个排序列表:
{head: {subhead: [list_items], subhead: [list_items]}, head: {subhead: [list_items]}}
我的问题是我必须确保标题和副标题始终遵循一定的顺序。由于以后可能添加的标题和副标题也需要遵循此顺序,这一点很复杂。所以我能想到通知解析器订单的唯一方法就是给它一些这样的数据:
 {heads: [head1, head2, head3], subheads: {head1: [subhead1_1, subhead1_2], head2: [subhead2_1, subhead2_2, subhead2_3]}}
但这让我觉得过于冗长和重复原始数据结构中的数据。

1 个答案:

答案 0 :(得分:0)

您可以使用数组(或您自己的结构),因为您希望对它进行排序。您自己的结构可能如下所示:

function Head(name) {
  this.name = name;
  this.arr = [];
}

所以不是结构:

var thing = {
  food: {fruit: [apples, oranges], vegetables: [carrots, peas]},
  animals: {domestic: [cat, dog], wild: [lion, bear]}
}

您可以这样做:

var thing = [new Head('food'), new Head('animals')]

然后:

thing[0].arr.push('apples'); 
thing[0].arr.push('oranges');

当然,您不必创建类,因为您实际上可以在javascript中将属性附加到数组。但是制作数据结构会更加困难。