2011-10-12 94 views
0

我正在嘗試使用標記製作HTML5播放列表。我想將所有歌曲,他們的名字,描述等存儲在一個數組中。儘管如此,我不知道如何使用數組。爲音樂播放列表創建一個包含多個選項的數組

我在想什麼,現在是這樣的:

var songBase = '/songs/' 
var playlist = {}; 
playlist = { 
         'Bleeding Love'    : 'Bleeding_love.mp3', 
         'Don\'t Forget'    : 'Dont_forget.mp3', 
         'Finish'     : 'Finish.mp3', 
         'In the Rain'    : 'In_the_rain.mp3', 
         'Ready to Fall'    : 'Ready_to_fall.mp3', 
         'Realize'     : 'Realize.mp3', 
         'Righted All Your Wrongs' : 'Righted_all_your_wrongs.mp3', 
         'These Walls'    : 'These_walls.mp3' 
        } 

我真正需要的是能夠做的是有2點以上的選擇。我甚至不知道如何從我已有的數組中提取任何數據。

任何想法?

回答

2

從技術上說,您使用的是對象字面值({}),而不是數組([])。

您可以爲您的目的使用一組對象文字。

var playlist = [ 
    { 
    name: "Bleeding Love", 
    file_name: "Bleeding_love.mp3" 
    }, 
    { 
    name: "Don't Forget", 
    file_name: "Dont_forget.mp3" 
    } 
] 

然後,您可以訪問這些像:

playlist[1].file_name 

或循環:

for (var i=0; i<playlist.length; i++) { # i is array index 
    for (var k in playlist[i]) {   # k is the key 
    console.log(k+': '+playlist[i][k]); 
    } 
} 
+0

謝謝!它似乎在工作! – watzon

+0

有什麼想法,爲什麼這是返回錯誤'未捕獲的TypeError:對象#沒有方法'attr'' var $ player = $(「audio#music-player」)[0]; \t \t \t \t \t \t \t \t \t \t變種I = 0; \t \t \t \t \t \t \t \t \t \t變種curSong =播放列表[I]的.src; \t \t \t \t \t \t \t \t \t \t $( 「玩-BT 」)點擊(函數(){ \t \t \t \t \t \t $ player.attr(「 SRC」,curSong); \t \t \t \t \t});' – watzon

+0

不是沒有看不到你的頁面結構。做一個http://jsfiddle.net,我會看看。 – Gazler

相關問題