2011-10-12 92 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

相关问题