Как получить последний ключ в массиве в JavaScript?

Это подобно этому вопросу, только PHP-> JavaScript

Как получить числовой ключ нового продвинутого объекта в PHP?

12
задан Community 23 May 2017 в 10:29
поделиться

3 ответа

var foo = myarray[myarray.length - 1];

Предпочтительный термин - элемент, а не ключ.

EDIT: Или вы имеете в виду последний индекс? Это myarray.length - 1. Имейте в виду, что массивы JavaScript могут быть проиндексированы только численно (хотя массивы также являются объектами, что вызывает некоторую путаницу).

20
ответ дан 2 December 2019 в 05:03
поделиться

Если это плоский массив , это будет:

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);
    }
}
6
ответ дан 2 December 2019 в 05:03
поделиться

Последний ключ массива всегда 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
2
ответ дан 2 December 2019 в 05:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: