A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf below:

Array.prototype.lastIndexOf() - JavaScript | MDN

Array.prototype.lastIndexOf()

Baseline Widely available

lastIndexOf() は Array インスタンスのメソッドで、配列中で与えられた要素が見つかった最後の添字を返します。もし存在しなければ -1 を返します。配列は fromIndex から逆向きに検索されます。

試してみましょう
const animals = ["Dodo", "Tiger", "Penguin", "Dodo"];

console.log(animals.lastIndexOf("Dodo"));
// Expected output: 3

console.log(animals.lastIndexOf("Tiger"));
// Expected output: 1
構文
lastIndexOf(searchElement)
lastIndexOf(searchElement, fromIndex)
引数
searchElement

検索する配列要素です。

fromIndex 省略可

検索し始める位置のゼロから始まるインデックスで、整数に変換されます。

返値

配列内の最後の searchElement のインデックスです。見つからなかった場合は -1 です。

解説

lastIndexOf() メソッドは searchElement と配列の要素を厳密な等価性(=== 演算子を使用するアルゴリズムと同じ)を使用して比較します。 NaN 値が等しいものとして比較されることはないので、 searchElement が NaN の場合、lastIndexOf() は常に -1 を返します。

lastIndexOf() メソッドは疎配列の空スロットをスキップします。

lastIndexOf() メソッドは汎用的です。これは this 値に length プロパティと整数キーのプロパティがあることだけを期待します。

例 lastIndexOf() の使用

lastIndexOf() を使って配列中のある値の位置を探す例を以下に示します。

const numbers = [2, 5, 9, 2];
numbers.lastIndexOf(2); // 3
numbers.lastIndexOf(7); // -1
numbers.lastIndexOf(2, 3); // 3
numbers.lastIndexOf(2, 2); // 0
numbers.lastIndexOf(2, -2); // 0
numbers.lastIndexOf(2, -1); // 3

lastIndexOf() を使用して NaN を検索することはできません。

const array = [NaN];
array.lastIndexOf(NaN); // -1
ある要素の存在をすべて見つける

以下の例は lastIndexOf を使って、与えられた配列中のある値の添字すべてを探しています。push を使って、値が見つかる度に別の配列にその添字を追加しています。

const indices = [];
const array = ["a", "b", "a", "c", "a", "d"];
const element = "a";
let idx = array.lastIndexOf(element);
while (idx !== -1) {
  indices.push(idx);
  idx = idx > 0 ? array.lastIndexOf(element, idx - 1) : -1;
}

console.log(indices);
// [4, 2, 0]

ここで idx == 0 の場合を分けて扱わないといけないことに注意してください。 なぜなら、もし検索する値が配列の最初の要素にあると、その値は fromIndex パラメーターにかかわらずいつもヒットしてしまうのです。 これは indexOf() メソッドとは異なります。

疎配列に対する lastIndexOf() の使用

疎配列の空のスロットを検索するために lastIndexOf() を使用することはできません。

console.log([1, , 3].lastIndexOf(undefined)); // -1
配列以外のオブジェクトに対する lastIndexOf() の呼び出し

lastIndexOf() メソッドは this の length プロパティを読み込み、次にキーが length より小さい非負の整数である各プロパティにアクセスします。

const arrayLike = {
  length: 3,
  0: 2,
  1: 3,
  2: 2,
  3: 5, // length が 3 なので lastIndexOf() からは無視される
};
console.log(Array.prototype.lastIndexOf.call(arrayLike, 2));
// 2
console.log(Array.prototype.lastIndexOf.call(arrayLike, 5));
// -1
仕様書 ブラウザーの互換性 関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4