0

私は一日中この問題を解決しようとしています:

サブディレクトリのあるディレクトリがあります。fe:

 | Music Artist 1
 | - Album Nr 1
 | -- Track 1
 | -- Track 2
 | -- ...
 | - Album Nr 2
 | -- Track 1
 | -- Track 2
 | -- ...
 | Music Artist 2
 | - Album Nr 1
 | -- Track 1
 | -- Track 2
 | -- ...

ここで、これらのディレクトリをループして、すべての詳細を配列/オブジェクトに追加します。したがって、次のようになります。

 [ { artist: Music Artist 1, album { title: Album Nr1, songs: { title: Track 1 } ... } ]

すべてのディレクトリ名/ファイルを取得することは問題ではありません。配列の作成方法がわかりません:(

ありがとうございます!

編集: これは私の試みです: http://pastebin.com/vWnbvu5m

4

1 に答える 1

1

オブジェクトを作成し、作成した各artistオブジェクトを配列に作成できます。push()同様に、albumandは、親オブジェクトにアタッチされた対応する配列に ed されたsongオブジェクトである場合があります。push()

var artists = [];
// for each artist we have
    var artist = {};
    artist.name = 'Music Artist 1';
    artist.albums = [];
    // for each album we have
        var album = {};
        album.title = 'Album Nr1'
        album.songs = [];
        // for each song that we have
            var song = {};
            song.title = 'Track 1';
            album.songs.push(song);
        // end song loop
        artist.albums.push(album);
    // end album loop
    artists.push(artist)
// end artist loop

この情報が JSON 形式で必要な場合は、JSON パーサーを使用して解析できます。または、配列artistをループすることで、それぞれからプログラムでデータを読み取ることができます。artists

// returns name of first artist in array
artists[0].name;

// returns title of first album by first artist in respective arrays
artists[0].albums[0].title;

// returns title of first song in first album by first artist in respective arrays
artists[0].albums[0].songs[0].title;
于 2013-08-29T19:07:27.137 に答える