我正在构建一个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]}}
,
但这让我觉得过于冗长和重复原始数据结构中的数据。
答案 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中将属性附加到数组。但是制作数据结构会更加困难。