JavaScriptやGoogle Apps Scriptにおいて、文字列や配列の中で特定の要素の位置を取得することはよくあります。
そのような場合に利用できるのが、indexOfメソッドです。
indexOfメソッドとは
indexOfメソッドは、指定した要素が文字列または配列内で最初に出現する位置を検索し、その位置のインデックスを返します。
指定した要素が存在しない場合は-1を返します。
文字列内の位置取得
まずは文字列内での位置取得の例を紹介します。
以下の例では、indexOfメソッドを使って文字列内で特定の文字列の最初の位置を取得しています。
const str = 'Hello, World!';
const index = str.indexOf('World');
console.log(index); // 7
この例では、”World”という文字列が最初に出現する位置のインデックスである7が返されています。
配列内の位置取得
次に、配列内での位置取得の例を紹介します。
以下の例では、indexOfメソッドを使って配列内で特定の要素の最初の位置を取得しています。
const arr = [1, 2, 3, 4, 5];
const index = arr.indexOf(3);
console.log(index); // 2
この例では、3という要素が最初に出現する位置のインデックスである2が返されています。
複数の要素がある場合の位置取得
複数の要素がある場合、indexOfメソッドは最初に出現する要素の位置のインデックスを返します。
以下の例では、”a”という文字列が最初に出現する位置のインデックスが返されます。
const str = 'abcdeabcde';
const index = str.indexOf('a');
console.log(index); // 0
要素がない場合の位置取得
指定した要素が存在しない場合、indexOfメソッドは-1を返します。
以下の例では、”f”という文字列が存在しないため-1が返されます。
const str = 'abcdeabcde';
const index = str.indexOf('f');
console.log(index); // -1
まとめ
indexOfメソッドは、文字列や配列内で特定の要素の位置を取得する際に非常に便利なメソッドです。
文字列と配列の両方で利用できるため、幅広い用途に利用することができます。