JavaScriptの配列検索
配列の検索および検索メソッド
- Array indexOf()
- Array lastIndexOf()
- Array includes()
- Array find()
- Array findIndex()
- Array findLast()
- Array findLastIndex()
参照してください:
JavaScript Array indexOf()
indexOf()
方法は配列内で要素の値を検索し、その位置を返します。
注意:最初の項目の位置は0、次の項目の位置は1、それ以降と続きます。
例
配列内で "Apple" という項目を検索します:
const fruits = ["Apple", "Orange", "Apple", "Mango"]; let position = fruits.indexOf("Apple") + 1;
文法
array.indexOf(item, start)
item | 必須。検索する項目。 |
start | オプション。検索の開始位置。負の値は配列の末尾からカウントし、末尾まで検索します。 |
返り値:
- 項目が見つからない場合、-1を返します。
- 項目が複数回出現している場合、最初に出现した位置を返します。
JavaScript Array lastIndexOf()
lastIndexOf()
方法と indexOf()
同じですが、指定された要素の最後の位置を返します。
例
配列内で "Apple" という項目を検索します:
const fruits = ["Apple", "Orange", "Apple", "Mango"]; let position = fruits.lastIndexOf("Apple") + 1;
文法
array.lastIndexOf(item, start)
item | 必須。検索する項目。 |
start | オプション。検索の開始位置。負の値は配列の末尾からカウントし、先頭まで検索します。 |
JavaScript Array includes()
ECMAScript 2016では、 Array.includes()
方法。それにより、配列に特定の要素(NaNも含まれますが、indexOfとは異なります)が含まれているかどうかを確認できます。
例
const fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.includes("Mango"); // 返回 true
文法
array.includes(search-item)
search-item:検索する要素。
注意:includes()
は NaN 値をチェックすることができますが、 indexOf()
はできません。
ブラウザのサポート
includes()
それは ECMAScript 2016 の機能。
2017年3月から、すべての現代ブラウザが ES2016 をサポートしています:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 52 | Edge 15 | Firefox 52 | Safari 10.1 | Opera 39 |
2016年7月 | 2017年4月 | 2017年3月 | 2017年5月 | 2016年8月 |
Internet Explorer は includes() をサポートしていません。
JavaScript Array find()
find()
方法はテスト関数を通じて最初の配列要素の値を返します。
例
18より大きな最初の要素を検索します:
const numbers = [4, 9, 16, 25, 29]; let first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
注意:関数は3つの引数を受け取ります:
- 要素の値
- 要素のインデックス
- 配列自体
ブラウザのサポート
find()
それは ES6(JavaScript 2015)の機能です。
2017年6月から、すべての現代ブラウザが ES6 をサポートしています:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016年5月 | 2017年4月 | 2017年6月 | 2016年9月 | 2016年6月 |
Internet Explorer はサポートしていません find()
。
JavaScript Array findIndex()
findIndex()
方法はテスト関数を通じて最初の配列要素のインデックスを返します。
例
18より大きな最初の要素のインデックスを検索します:
const numbers = [4, 9, 16, 25, 29]; let first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
注意:関数は3つの引数を受け取ります:
- 要素の値
- 要素のインデックス
- 配列自体
ブラウザのサポート
findIndex()
それは ES6(JavaScript 2015)の機能です。
2017年6月から、すべての現代ブラウザが ES6 をサポートしています:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016年5月 | 2017年4月 | 2017年6月 | 2016年9月 | 2016年6月 |
Internet Explorer はサポートしていません findIndex()
。
JavaScript Array findLast()
ES2023 で追加されました findLast()
方法,それが配列の末尾から検索を開始し、条件を満たす最初の要素の値を返します。
例
const temp = [27, 28, 30, 40, 42, 35, 30]; let high = temp.findLast(x => x > 40);
ブラウザのサポート
findLast()
ES2023 の機能です。
2023 年 7 月から、すべての現代ブラウザがサポートしています:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
2023 年 2 月 | 2023 年 2 月 | 2023 年 7 月 | 2023 年 3 月 | 2023 年 5 月 |
JavaScript Array findLastIndex() メソッド
findLastIndex()
条件を満たす最後の要素のインデックスを検索します。
例
const temp = [27, 28, 30, 40, 42, 35, 30]; let pos = temp.findLastIndex(x => x > 40);
ブラウザのサポート
findLastIndex()
ES2023 の機能です。
2023 年 7 月から、すべての現代ブラウザがサポートしています:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
2023 年 2 月 | 2023 年 2 月 | 2023 年 7 月 | 2023 年 3 月 | 2023 年 5 月 |
完全な配列リファレンスマニュアル
完全な配列リファレンスが必要な場合は、以下にアクセスしてください:JavaScript 配列リファレンスマニュアル。
このマニュアルには、すべての配列属性とメソッドの説明と例が含まれています。