Маленькие вещи имеют значение, когда речь идет о производительности веб-приложения.
Давайте рассмотрим очень интуитивную проблему, в которой нам интересно, как веб-разработчики получат доступ к последнему элементу из массива элементов, который содержит ~1 миллион элементов.
Очевидные мысли — использовать методы массива slice, pop или через доступ к индексу, или многими другими способами, описанными ниже:-
let data = […] => ~миллионы элементов.
let last = data.slice(-1)[0]
let last = data[data.length - 1]
let last = [...data].pop()
let last = data.reduceRight(x => x)
let last = data.at(-1)
или с помощью внешних библиотек, таких как lodash и любые методы jQuery.
Проведя несколько тестов на этих наборах инструкций для массива из миллионов элементов, мы получили эталон производительности!
Выводы — рекомендуется использовать
let last = data[data.length - 1]
который является самым быстрым кроссбраузерным решением из всех возможных.
После этого моим личным выбором будет использование
let last = data.at(-1)
и
let last = [...data].pop()
Хотя […data].pop() занимает дополнительное пространство O(N) и время для создания неглубокой копии массива больших данных, но это быстрее.
Решения, использующие jQuery, являются самыми медленными во всех браузерах.
Спасибо StackOverflow и Kamil Kiełczewski.