如何使用无序索引迭代javascript中的对象

c..*_*c.. 5 javascript arrays loops playlist

我正在创建一个播放列表系统,每首歌都有一个唯一的ID.将歌曲添加到播放列表数组时,其索引将注册为其ID.

通常,当循环遍历javascript数组时,您可以获取长度并通过索引进行计数.有没有办法循环使用未使用索引的数组?这是不好的做法吗?

Rob*_*b W 5

var obj = {"123": "Lalala",
           "456": "dum dum"};
for(var i in obj){
    //i = ID
    // obj[i] = "song"
}
Run Code Online (Sandbox Code Playgroud)

使用for(var i in obj)通过对象循环.请参阅上面的注释以了解此for声明的含义.

顺便说一下,你在谈论的是对象,而不是数组:

var array = [7, 5, 9];
Run Code Online (Sandbox Code Playgroud)

可以以这种方式模拟阵列,以便for(var i=0; i<array_like.length; i++)可以使用a.pop除非您定义它,否则不能在它们上使用数组函数(例如):

var array_like = {0:7, 1:5, 2:9, length:3};
Run Code Online (Sandbox Code Playgroud)