我们有一个数组

let fruits = ["Apple", "Orange", "Plum"];

假设我们想要数组的最后一个元素。

一些编程语言允许我们使用负数索引来实现这一点,例如 fruits[-1]

但在 JavaScript 中这行不通。结果将是 undefined,因为方括号中的索引是被按照其字面意思处理的。

我们可以显式地计算最后一个元素的索引,然后访问它:fruits[fruits.length - 1]

let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[fruits.length-1] ); // Plum

有点麻烦,不是吗?我们需要写两次变量名。

幸运的是,这里有一个更简短的语法 fruits.at(-1):

let fruits = ["Apple", "Orange", "Plum"];

// 与 fruits[fruits.length-1] 相同
alert( fruits.at(-1) ); // Plum

换句话说,arr.at(i)

  • 如果 i >= 0,则与 arr[i] 完全相同。
  • 对于 i 为负数的情况,它则从数组的尾部向前数。

下面是更详细的array.at()方法示例:

const vegetables = ['potatoe', 'tomatoe', 'onion'];
 
vegetables.at(0); // => 'potatoe'
vegetables.at(1); // => 'tomatoe'
vegetables.at(2); // => 'onion'
vegetables.at(3); // => undefined
 
vegetables.at(-1); // => 'onion'
vegetables.at(-2); // => 'tomatoe'
vegetables.at(-3); // => 'potatoe'
vegetables.at(-4); // => undefined

由于at是一个最近添加到 JavaScript 的特性。 旧式浏览器可能需要 polyfills。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐