Mat*_*hen 20

var foo = myarray[myarray.length - 1];
Run Code Online (Sandbox Code Playgroud)

首选术语是元素,而不是键.

编辑:或者你的意思是最后一个索引?那是myarray.length - 1.请记住,JavaScript数组只能以数字方式编制索引(尽管数组也是对象,这会导致一些混淆).

  • @ user198729 JavaScript中的数组与PHP的工作方式不同.PHP将它们实现为稀疏数组,这就是为什么第一个/最后一个元素的索引不总是0/len-1.在JavaScript中,所有数组都是密集数组,零基础,完全填充(可能是未定义的)索引元素,从0到.length-1. (5认同)

Aro*_*eel 6

如果它是一个扁平数组,这将做:

return array.length - 1;
Run Code Online (Sandbox Code Playgroud)

但是,如果你有一个关联数组,你必须知道密钥并循环它.请注意,虽然JavaScript不知道"关联数组",因为JavaScript中的大多数元素都是对象.

免责声明:在JavaScript中使用关联数组通常不是一个好习惯,可能会导致问题.

var x = new Array();
x['key'] = "value";
for (i in x)
{
    if (i == 'key')
    {
        alert ("we got "+i);
    }
}
Run Code Online (Sandbox Code Playgroud)