var myArray = [1,2,3,4,5,6];
// Fastest method, requires the array is in a variable
myArray[myArray.length - 1];
// Also very fast but it will remove the element from the array also, this may or may
// not matter in your case.
myArray.pop();
// Slowest but very readable and doesn't require a variable
myArray.slice(-1)[0]
9条答案
按热度按时间qlfbtfca1#
你可以通过它的索引来访问数组元素。数组中最后一个元素的索引将是数组的长度-1(因为索引是从零开始的)。
这个应该能用
这是一个工作样本。
hiz5n14c2#
如果以后不需要数组,可以使用
但这会从数组中删除元素!
pop返回
T | undefined
,因此您需要在实现中注意这一点。如果你确定总有一个值,你可以使用非空Assert运算符(
!
):w7t8yxp53#
还有一种方法还没有提到:
uplii1fm4#
截至2021年7月,浏览器开始支持数组的
at()
方法,该方法允许以下语法:我不清楚TypeScript将在什么时候开始支持这一点(它还不适合我),但我猜它应该很快就会可用。
**编辑:**自
typescript@4.5.4
起可用bf1o4zei5#
这里有一个选项总结在一起,为任何人发现这个问题晚像我一样。
ergxz8rk6#
如果你需要更频繁地调用这个函数,可以全局声明它:
你就可以打电话
lx0bsm1f7#
我将这一条作为我对stackoverflow的第一个贡献:
注意:与不使用spread操作符的
pop()
不同,这种方法不会从原始数组中删除最后一个元素。z4bn682m8#
xjreopfe9#
有几种方法可以做到这一点。
1.按最后一个元素的索引。
1.使用slice函数:这个函数返回数组中的值,这就是为什么需要访问第0个索引的原因。
1.使用pop()函数:当你需要获取并删除数组的最后一个元素时,这个方法很有用。元素,最后一个元素将从原始数组中删除。
1.使用at()函数。注意:这是在ES22中引入的,在旧版本中不起作用
您可以根据自己的偏好选择其中任何一种方法。