Это подобно этому вопросу, только PHP-> JavaScript
Как получить числовой ключ нового продвинутого объекта в PHP?
var foo = myarray[myarray.length - 1];
Предпочтительный термин - элемент, а не ключ.
EDIT: Или вы имеете в виду последний индекс? Это myarray.length - 1
. Имейте в виду, что массивы JavaScript могут быть проиндексированы только численно (хотя массивы также являются объектами, что вызывает некоторую путаницу).
Если это плоский массив , это будет:
return array.length - 1;
Однако, если у вас есть ассоциативный массив , вам нужно будет знать ключ и пройти его в цикле. Однако обратите внимание, что JavaScript не знает такой вещи, как «ассоциативный массив», поскольку большинство элементов в JavaScript являются объектами.
Заявление об ограничении ответственности: Использование ассоциативных массивов в JavaScript обычно не рекомендуется и может привести к проблемам.
var x = new Array();
x['key'] = "value";
for (i in x)
{
if (i == 'key')
{
alert ("we got "+i);
}
}
Последний ключ массива всегда arr.length-1
, поскольку массивы всегда начинаются с ключа 0
:
var arr = new Array(3); // arr === [], arr.length === 3
arr.push(0); // arr === [undefined, undefined, undefined, 0], arr.length === 4
arr[arr.length-1] // returns 0
var arr = []; // arr === [], arr.length === 0
arr[3] = 0; // arr === [undefined, undefined, undefined, 0], arr.length === 4
arr[arr.length-1] // returns 0