Показать сообщение отдельно
  #1 (permalink)  
Старый 10.10.2016, 18:31
Интересующийся
Отправить личное сообщение для Goret Посмотреть профиль Найти все сообщения от Goret
 
Регистрация: 10.10.2016
Сообщений: 10

Хранение данных в объекте и вывод многомерного списка
Добрый подскажите, пожалуйста, такой момент.
У меня есть такой код
// JavaScript source code
(function () {
    'use strict';
    function Base(_artist, _album, _song, _attributes) {
        this.artist = _artist;
        this.album = _album;
        this.song = _song;
        this.attributes = _attributes;
    }

    var base = [];
base.push(new Base("Apocalyptica", [
        "Reflections",
         "Amplified"
    ],
 ["Enter Sandman", "Harmageddon", "Nothing Else Matters"]
));
  
    base.push(new Base("Rammstein", ["Mutter"], [
      "Mein Herz Brennt",
      "Links 234",
      "Sonne",
      "Ich Will",
    ],
        {
            "Mein Herz Brennt": ["mp3", "4Mb", "Industrial"],
        }
        ));
document.write("<ul>");
    for (var i = 0; i < base.length; ++i) {
        document.write("<li>" + base[i].artist + "</li>");
        document.write("<ul>");
        for (var j = 0; j < base[i].album.length; ++j) {
            document.write("<li>" + base[i].album[j] + "</li>");
            document.write("<ul>");
            for (var h = 0; h < base[i].song.length; ++h) {
                document.write("<li>" + base[i].song[h] + "</li>");
                for (var t in base[i].attributes) {
                    if (t === base[i].song[h]) {
                        document.write("<ul>");
                        for (var g = 0; g < t.length; ++t) {
                            for (var f = 0; f < base[i].attributes[t].length; ++f) {
                                document.write("<li>" + base[i].attributes[t][f] + "</li>");
                            }
                        }
                        document.write("</ul>");
                    }
                }
            }
            document.write("</ul>");
        }
        document.write("</ul>");
    }
    document.write("</ul>");

}());

Он рабочий.
Единственный момент, что хочу чтобы в пунктах "Reflections" и"Amplified" я были свои подпункты, а в таком варианте у них одни и те же элементы выводятся. Мог бы кто-нибудь помочь?
Ответить с цитированием