javascript遍历数组

时间:2014-03-01 00:22:03

标签: javascript arrays

我有一个数组如下:

levelinfoarray["test"] = new Array(16,20,4,5,"Test level");
levelinfoarray[1] = new Array(29,25,17,13,"Introduction");
levelinfoarray[2] = new Array(16,24,6,4,"Counting...");
levelinfoarray[3] = new Array(16,20,4,5,"Where am I going?");
...

我想迭代数组并获得像这样的级别编号和级别描述

Test) Test level
1) Introduction
2) Counting...
3) Where am I going?
...

我尝试了for循环和forEach,但两者都只给了我编号的条目。我如何获得“测试”条目?

2 个答案:

答案 0 :(得分:4)

当数组具有非数字键时,它实际上是一个对象。使用for...in

for (key in levelinfoarray) {
    if (levelinfoarray.hasOwnProperty(key)) {
        console.log(key+') '+levelinfoarray[key][4]);
    }
}

P.S。不要使用new Array,请使用数组文字:

levelinfoarray["test"] = [16,20,4,5,"Test level"];

答案 1 :(得分:1)

Object.keys(levelinfoarray) // => ["1", "2", "3", "test"]

迭代:

Object.keys(levelinfoarray).forEach(function(key) {console.log(key)});

如果您想支持旧浏览器,则必须填充Object.keysArray.prototype.forEach