javascriptの配列の要素を検索する方法について簡単にまとめました。
includes
指定した要素が配列に存在するか調べるメソッド(ES 2017)。
存在したらtrueを返す。
const animals = ['サル', 'キリン', 'ライオン', 'シカ'];
const result_1 = animals.includes( 'ライオン' );
const result_2 = animals.includes( 'ゾウ' );
console.log(result_1);
// ※実行結果
// true
console.log(result_2);
// ※実行結果
// false
includesの返り値
要素が見つかった場合 :true返す
要素が見つからない場合:false返す
indexOf
指定した要素が配列に存在するか(配列の先頭から)調べるメソッド。
存在したら調べた最初のインデックス番号を返す。
const animals = ['サル', 'キリン', 'ライオン', 'シカ'];
const result_1 = animals.indexOf( 'ライオン' );
const result_2 = animals.indexOf( 'ゾウ' );
console.log(result_1);
// ※実行結果
// 2
console.log(result_2);
// ※実行結果
// -1
indexOfの返り値
要素が見つかった場合 :最初のインデックス番号(数値)を返す
要素が見つからない場合:-1を返す
indexOfで複数合致した場合
もし見つけたい要素が配列内に複数あった場合は、最初に一致した値のインデックス番号を返します。lastIndexOf
指定した要素が配列に存在するか(配列の末尾から)調べるメソッド。
存在したら調べた最初のインデックス番号を返す。
const animals = ['サル', 'キリン', 'ライオン', 'シカ'];
const result_1 = animals.lastIndexOf( 'ライオン' );
const result_2 = animals.lastIndexOf( 'ゾウ' );
console.log(result_1);
// ※実行結果
// 2
console.log(result_2);
// ※実行結果
// -1
lastIndexOfの返り値
要素が見つかった場合 :最初のインデックス番号(数値)を返す
要素が見つからない場合:-1を返す
lastIndexOfで複数合致した場合
indexOf同様、もし見つけたい要素が配列内に複数あった場合は、最初に一致した値のインデックス番号を返します。
末尾から検索するため、取得する番号は一番大きいインデックス番号となります。
find
条件に一致する要素があるか調べるメソッド(ES 2015)。
一致した最初の要素を返す。
const animals = ['サル', 'キリン', 'ライオン', 'シカ', 'ライオン'];
const result_1 = animals.some(l => l === 'ライオン');
const result_2 = animals.some(e => e === 'ゾウ');
console.log(result_1);
// ※実行結果
// "ライオン"
console.log(result_2);
// ※実行結果
// undefined
findの返り値
要素が見つかった場合 :一致した最初の要素を返す
要素が見つからない場合:undefinedを返す
filter
条件に一致する要素があるか調べるメソッド。
一致した全ての要素を配列で返す。
const animals = ['サル', 'キリン', 'ライオン', 'シカ', 'ライオン'];
const result_1 = animals.filter(l => l === 'ライオン');
const result_2 = animals.filter(e => e === 'ゾウ');
console.log(result_1);
// ※実行結果
// ["ライオン","ライオン"]
console.log(result_2);
// ※実行結果
// []
filterの返り値
要素が見つかった場合 :一致した全ての要素を配列で返す
要素が見つからない場合:空の配列を返す
some
条件に一致する要素があるか調べるメソッド(ES 2015)。
一致した要素があればtrueを返す。
const animals = ['サル', 'キリン', 'ライオン', 'シカ', 'ライオン'];
const result_1 = animals.some(l => l === 'ライオン');
const result_2 = animals.some(e => e === 'ゾウ');
console.log(result_1);
// ※実行結果
// true
console.log(result_2);
// ※実行結果
// false
someの返り値
要素が見つかった場合 :trueを返す
要素が見つからない場合:falseを返す