Проблема с упорядочением заголовков в отсортированном списке - PullRequest
0 голосов
/ 25 августа 2011

Я создаю веб-приложение, в котором я строю отсортированный список из объекта, подобного этому:
{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 голосов
/ 25 августа 2011

Вы можете также использовать массив (или свою собственную структуру) для этого, так как вы хотите, чтобы он был упорядочен.Ваша собственная структура может выглядеть следующим образом:

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.Но создание структуры данных было бы немного более болезненным.

...