在尝试获取数组的上限时未定义?

时间:2011-10-15 11:10:34

标签: javascript

我只是回想起过去使用VBScript的好时光(过去好日子?!?!?我在想什么?),我记得使用两个非常有用的数组方法,这些是UBound和LBOUND。现在我不认为JavaScript有这些,如果我想自己做我可以扩展对象,但我只是尝试这样做以返回上限项(或数组的最后一项)

var myArray = ['1','2','3','4','5','6','seven', 8, 'nine','10'];
document.write(myArray.length + ' ' + myArray[myArray.length]);

myArray.length会返回它的内容,但是当我尝试使用myArray[myArray.length]输出最后一项时,我得到了undefined?有谁知道这是为什么?

由于

2 个答案:

答案 0 :(得分:6)

myArray的最后一个元素位于myArray.length - 1,因为Javascript中的数组是0索引的。所以,myArray[myArray.length -1]正是您所寻找的。

答案 1 :(得分:5)

索引从0开始。最后一个元素位于myArray.length - 1