Ось ще мистецтво Javascript, якщо ви прийшли сюди шукати його
У дусі іншої відповіді, яка використовувалась reduceRight()
, але коротше:
[3, 2, 1, 5].reduceRight(a => a);
Він спирається на той факт, що, якщо ви не надаєте початкове значення, саме останній елемент вибирається як початковий (перевірте документи тут ). Оскільки зворотний виклик просто повертає початкове значення, останнім елементом буде повернутий в кінці.
Будьте уважні, що це слід вважати мистецтвом Javascript і це аж ніяк не так, як я рекомендував би це зробити, здебільшого тому, що він працює в O (n) час, а також тому, що це шкодить читабельності.
А тепер для серйозної відповіді
Найкращий спосіб, який я бачу (вважаючи, що ви хочете його більш лаконічним, ніж array[array.length - 1]
), це такий:
const last = a => a[a.length - 1];
Тоді просто скористайтеся функцією:
last([3, 2, 1, 5])
Ця функція дійсно корисна у випадку, коли ви маєте справу з анонімним масивом, як це було [3, 2, 1, 5]
використано вище, інакше вам доведеться інстанціювати його двічі, що було б неефективно та некрасиво:
[3, 2, 1, 5][[3, 2, 1, 5].length - 1]
Тьфу.
Наприклад, ось ситуація, коли у вас є анонімний масив, і вам доведеться визначити змінну, але ви можете використовувати last()
замість цього:
last("1.2.3".split("."));
const [lastItem] = arr.slice(-1)