获取Javascript数组的最高索引键

时间:2015-09-24 15:12:47

标签: javascript arrays key max

如何获得类似数组中的最高键:

foo[0] == undefined
foo[1] == "bar"
foo[2] == undefined
foo[3] == undefined
foo[4] == "bar"

foo.length返回2,所以如果我迭代foo.length次,我将永远不会得到最后一个值。

或者考虑到未定义的值,有没有办法计算数组?

2 个答案:

答案 0 :(得分:3)

我不确定您的代码无法正常工作,.length在类似的数组中var foo = []; foo[1] = "bar"; foo[4] = "bar"; //grab existing indexes that have values assigned var indexes = foo.map(function(val, idx) { return idx; }); //get the last one, this + 1 is your real length var realLength = indexes[indexes.length - 1] + 1; console.log("Real length: ", realLength); //iterate using for loop for(var i=0; i<realLength; i++) { var val = foo[i]; console.log(i, val); } 在我的示例here中正确显示了5 但是,如果您没有在特定索引上设置任何值,则可以执行this

opacity: 1;

答案 1 :(得分:1)

最高关键

var index = foo.lastIndexOf(foo.slice(-1)[0]);