TypedArray.prototype.at()

at() 方法接受一个整数值并返回该索引处的项,允许正整数和负整数。负整数从数组中的最后一项开始倒数。

(参见以下示例)

这并不是说使用方括号表示法有任何问题。例如, array[0] 将返回第一项。但是,不要使用 array.length 。例如 array[array.length-1] 对于最后一个项目,您可以调用 array.at(-1)

语法

at(index)

Parameters

index

The index(position)of the array element to be returned. Supports relative indexing from the end of the array when passed a negative index; that is, if a negative number is used, the element returned will be found by counting back from the end of the array.

Return value

The element in the array matching the given index. Returns undefined if the given index can not be found.

Examples

Return the last value of a typed array

The following example provides a function which returns the last element found in a specified array.

const uint8 = new Uint8Array([1, 2, 4, 7, 11, 18]);

// A function which returns the last item of a given array
function returnLast(arr) {
  return arr.at(-1);
}

const lastItem = returnLast(uint8);
console.log(lastItem); // 18

Comparing methods

Here we compare different ways to select the penultimate(last but one)item of a TypedArray . Whilst all below methods are valid, it highlights the succinctness and readability of the at() method.

// Our typed array with values
const uint8 = new Uint8Array([1, 2, 4, 7, 11, 18]);

// Using length property
const lengthWay = uint8[uint8.length - 2];
console.log(lengthWay); // 11

// Using slice() method. Note an array is returned
const sliceWay = uint8.slice(-2, -1);
console.log(sliceWay[0]); // 11

// Using at() method
const atWay = uint8.at(-2);
console.log(atWay); // 11