TypedArray.prototype.at()

at() メソッドは整数値を受け取り、その位置にある項目を返します。正の整数値と負の整数値が使用できます。負の整数は、配列の最後の項目から前へ数えます。

これは、角括弧記法を使用することに何らかの問題があることを示唆しているわけではありません。例えば、 array[0] は最初の項目を返します。しかし、後方の項目、例えば最後の項目には array.length を使用する代わりに、 array.at(-1) を呼び出すことで取得することができます。(下記の例を参照してください)

試してみましょう

構文

at(index)

引数

index

返される配列要素の添字(位置)。負の添字を使用した場合は、配列の末尾からの相対位置指定に対応しています。つまり、負の数を使用した場合は、配列の末尾から数えて返される要素を見つけることになります。

返値

指定された位置に一致する配列の要素です。指定された位置が見つからない場合は undefined を返します。

型付き配列の最後の値を返す

次の例は、指定した配列の中で最後に見つかった要素を返す関数を提供する例です。

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

// 指定された配列の最後の項目を返す関数です。
function returnLast(arr) {
  return arr.at(-1);
}

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

メソッドの比較

ここでは、TypedArray の最後から 2 番目の項目を選択するさまざまな方法を比較しています。以下に示すどの方法も有効ですが、at() メソッドの簡潔さと読みやすさが際立っています。

// 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

仕様書

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.at

ブラウザーの互換性

BCD tables only load in the browser

関連情報