Меню, вложенное в массив

258
21 июля 2017, 05:26

Подскажите, нужно создать js-объект, состоящий из пунктов меню, у каждого пункта может быть родитель, т.е. уровень вложенности меню будет 3.

<ul> 
    <li>каталог1 
        <ul class="inner"> 
            <li>пункт2 
                <ul class="inner"> 
                    <li>пункт3</li> 
                </ul> 
            </li> 
            <li>пункт2 
                <ul class="inner"> 
                    <li>пункт3</li> 
                    <li>пункт3</li> 
                    <li>пункт3</li> 
                </ul> 
            </li> 
        </ul> 
    </li> 
    <li>каталог2 
        <ul> 
            <li>пункт2 
                <ul> 
                    <li>пункт3</li> 
                </ul> 
            </li> 
        </ul> 
    </li> 
</ul>

Нужно создать примерно такое меню, показанное выше, но только в объекте js или в массиве js.

var menu = {
    'каталог1': {
        'пункт2': ['пункт3-1','пункт3-2','пункт3-3'],
        'пункт22': 'пункт3'
    },'каталог2': {
        'пункт2': 'пункт3'
    }
};

Так будет правильно? Если ключом будет русское слово, не будет ли это ошибкой? Или подскажите пожалуйста, как правильно создать такое меню со вложенностью?
т.е. в последствии нужно будет сформировать в dom меню из этого массива.
Или тут нужно использовать json?

READ ALSO
Передвижение по svg (path)

Передвижение по svg (path)

Подскажите, пожалуйста, как организовать движение картинок по path "паровозиком", как угодно, только не друг на друге (задать координаты в цикле...

303
Сравнение 2х массивов

Сравнение 2х массивов

Всем привет, Имеется задача сравнить 2 массива и вывести результат с отсутствующим ID/

222
Проигнорированный флаг JavaScript

Проигнорированный флаг JavaScript

В простом тексте вздумалось мне найти буквосочетания:

347
Проблема с отображением координат мыши

Проблема с отображением координат мыши

Изучаю js и столкнулась с такой проблемой, мне нужно отобразить координаты мышки внутри блока, а сам блок двигать по вертикали в зависимости...

237