Как представить эту структуру данных в Javascript

#javascript #data-structures

#javascript #структуры данных

Вопрос:

Может кто-нибудь помочь мне, какая структура данных представляет следующий сценарий в Javascript.Помощь приветствуется. Я рассматриваю различные варианты, такие как обход дерева, двусвязный список, но мне нужны лучшие входные данные.

Пример использования: мое представление объекта, поступающее с сервера, выглядит следующим образом

 behaviour Id 1 [checkbox]
Combinable is [2,3]

Behaviour 2 [checkbox]
combinable is [8]

Behaviour 3 [checkbox]
combinable is [5]

Behaviour 4 [checkbox]
combinable is [7]

Behaviour 5 [checkbox]
combinable is []

Behaviour 6 [checkbox]
combinable is []

Behaviour 7 [checkbox]
combinable is []

Behaviour 8 [checkbox]
combinable is [9]

Behaviour 9 [checkbox]
combinable is []
  

учитывая следующий сценарий, мне нужно пройти двунаправленный.

Пример использования 1: когда пользователь выбирает идентификатор поведения 1, [1,2,8,9] и [1,3,5] должны быть включены.Остальные флажки будут отключены.

Вариант использования 2: это двунаправленный. В продолжение варианта использования 1, когда пользователь выбирает 8 и отменяет выбор идентификатора 1, тогда [8,9] должен быть включен, но [1,2,3,4,5,6] должен быть отключен.

Я отредактировал вопрос, чтобы сделать его более понятным .. спасибо.

Ответ №1:

Почему бы не иметь структуру json для хранения отношений?

 var relationship = {
   1 : {
     2,3        
   },
   2 : {
    4  
   },
   3 : {
    5,6
   },
   4 : {
    6,7
   }
}
  

Итак, свяжите идентификатор поведения с ключом в объекте отношений. выполните итерацию и отметьте соответствующие значения.

Комментарии:

1. Я предполагаю, что вы предполагали, что внутренние объекты будут массивами.

2. ну, не обязательно. Это может быть либо массив, либо просто вложенный другой объект json. Но я думаю, что массив был бы проще.

3. Если вы используете объект, то он должен быть в форме ключ / значение, а не просто список значений.

4. спасибо, ребята.. Я просто отредактировал вопрос, чтобы сделать его более значимым. Любая помощь приветствуется.