JavaScriptで配列に指定した要素が存在するか判定する方法を解説します。
JavaScriptで配列に指定した要素が存在するか判定する方法はありますか?
配列に指定した要素が存在するか判定する方法はincludesメソッド、findメソッド、indexOfメソッドなどいくつかあります。
includesメソッドを使った要素の存在を判定する方法
includesメソッドは、配列内に指定した要素が存在する場合はtrueを返し、存在しない場合はfalseを返します。
const array = [1, 2, 3, 4, 5];
const element = 3;
const result = array.includes(element);
console.log(result); // true
上記のサンプルでは、配列arrayに3が含まれているため、array.includes(element)はtrueを返します。そして、resultにはtrueが格納されます。
findメソッドを使った要素の存在を判定する方法
findメソッドは、配列内に指定した条件を満たす要素が存在する場合はその要素を返し、存在しない場合はundefinedを返します。
const array = [1, 2, 3, 4, 5];
const element = 3;
const result = array.find(e => e === element);
console.log(result); // 3
上記のサンプルでは、配列arrayに3が含まれているため、array.find(e => e === element)は3を返します。そして、resultには3が格納されます。
indexOfメソッドを使った要素の存在を判定する方法
indexOfメソッドは、配列内に指定した要素が存在する場合はそのインデックス番号を返し、存在しない場合は-1を返します。
const array = [1, 2, 3, 4, 5];
const element = 3;
const result = array.indexOf(element) !== -1;
console.log(result); // true
上記のサンプルでは、配列arrayに3が含まれているため、array.indexOf(element)は2を返します。そして、2 !== -1はtrueです。そのため、resultにはtrueが格納されます。
for文を使った方法要素の存在を判定する方法
for文を使った方法は、配列を繰り返し処理し、指定した要素が存在する場合はtrueを返し、存在しない場合はfalseを返します。
const array = [1, 2, 3, 4, 5];
const element = 3;
let result = false;
for (let i = 0; i < array.length; i++) {
if (array[i] === element) {
result = true;
break;
}
}
console.log(result); // true
上記のサンプルでは、配列arrayに3が含まれているため、3とarray[i]が一致するため、resultにtrueが格納され、for文はbreakで終了します。最終的にconsole.log(result)はtrueを返します。
リスキリングでキャリアアップしてみませんか?
リスキリング(学び直し)は、経済産業省が推奨しており、
今だけ、最大70%のキャッシュバックを受けることができます。
最大70%の給付金が出るおすすめのプログラミングスクール!
国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!
興味のある方はすぐに確認しましょう。
まとめ
「配列に指定した要素が存在するか判定する方法」についてまとめます。
- indexOfメソッド: 配列内に指定した要素が存在する場合はそのインデックス番号を返し、存在しない場合は-1を返す。
- includesメソッド: 配列内に指定した要素が存在する場合はtrueを返し、存在しない場合はfalseを返す。
- リストfindメソッド: 配列内に指定した要素が存在する場合はその要素を返し、存在しない場合はundefinedを返す。
- for文を使った方法: 配列を繰り返し処理し、指定した要素が存在する場合はtrueを返し、存在しない場合はfalseを返す。
JavaScriptで配列に指定した要素が存在するか判定する方法を紹介しました。どの方法を使うのが良いかは、プログラムによって異なります。この記事で紹介した方法を参考に、適切な方法を選択しましょう。
includesメソッドがES2016から導入されたため、古いブラウザでは使用できないことに注意してください。
その場合は、indexOfメソッドやfor文を使った方法を使用することをおすすめします。
コメント