Javascript: Как создать объекты динамического дерева / вложенной структуры, связанные со значениями динамического выпадающего списка?

#javascript #html #angular

#javascript #HTML #angular

Вопрос:

Я использую Angular 2. Я хочу создать динамическое дерево / вложенные объекты с разными именами для каждого объекта, чтобы помещать каждое из них в каждый дочерний объект. Для лучшего понимания смотрите рисунок ниже :

  var treeList = [];
 treeList = [
  {
    Id: "1", //Id of base parent
    childList: [ //child object of selected parent. 
      {
        Id: "2", //Id of child
        childList_1: [ // child object of selected child.
          {
            Id: "3", //Id of child
            childList_2: [ // child object of selected child.
                {
                    Id: "4", //Id of child
                    childList_3: [ // child object of selected child.
                    { //
                      //----goes on until selected drop down value doesn't have child 
                    }]
                }
            ]
          }]
          }
          ]
          }
          ]
  

Как вы можете видеть структуру выше, родительский список выбирается в первом выпадающем списке, и с момента этого выбора соответствующий дочерний список заполняет следующий динамически созданный выпадающий список. Снова тот же процесс продолжается до тех пор, пока у выбранного дочернего элемента не останется дочернего элемента.
Я запутался в реализации этого структурированного объекта, и, пожалуйста, помогите мне получить логику для этого.
А также как поддерживать динамический дочерний список каждый раз, когда в выпадающем списке выбирается новое значение.

Для более четкого понимания, это дерево :

     1 (selected parent)
    |
    |
    2 (1 child of selected parent)
  __|__
  |   |
  6   3 (child of selected child(i.e.2))
      |
      |
      4 (child of selected child(i.e.3))
      |
      |
      //Goes on...
  

Спасибо!

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

1. В чем вопрос?

2. Я запутался в реализации этого структурированного объекта, и, пожалуйста, помогите мне получить логику для этого. А также как поддерживать динамический дочерний список каждый раз, когда в выпадающем списке выбирается новое значение? Мне нужно структурировать объект так же, как показано выше… динамически