速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】some()で配列に条件を満たす要素が存在するか判定する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】some()で配列に条件を満たす要素が存在するか判定する

目次

本記事では、JavaScriptのsomeメソッドを使って、配列に条件を満たす要素が存在するか判定する方法をご紹介しています。

配列に条件を満たす要素が存在するか判定したいだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

someメソッドとは

someメソッドはArrayオブジェクトのメソッドです。someメソッドは、関数で指定されたテストを実行した結果、配列に1つでもテストに合格する要素が存在すればtrueを、存在しなければfalseを返します。そのため配列に1つでも条件を満たす要素の確認に有効なメソッドです。

参考:Array.prototype.some()

配列に条件を満たす要素が存在するか判定する

someメソッドを使っていくつかテストを実施してみます。テストケースとして数値と文字列を使った処理を作成し、実行結果を確認してみたいと思います。

数値の判定

test関数に条件を設定し、someメソッドで配列の要素をテストします。

const array = [1, 3, 5, 7, 9];
const test = num => num > 8;

console.log(array.some(test)); //true

上記例では、配列に8より大きい数字が存在するかを検証しています。配列に9の値が存在するため実行結果はtrueとなります。

const array = [1, 3, 5, 7, 9];
const test = num => num > 10;

console.log(array.some(test)); //false

上記例では、配列に10より大きい値が存在するかを検証しています。配列に10より大きい値は存在しないため、実行結果はfalseとなります。

その他比較演算子で条件を指定することが可能です。

文字列の判定

配列に指定した文字列を持つ要素が存在するか判定します。

const array = ['abc', 'def', 'ghi', 'jkl', 'mno'];
const test = str => str === 'ghi';

console.log(array.some(test)); //true

上記例では、配列の各要素と文字列のghiが等しいかを判定しています。配列にghiを持つ要素が存在するため、実行結果はtrueです。

もし正規表現を使って配列の要素を判定したい場合は、RegExpで下記のように置き換えると良いかもしれません。

const array = ['abc', 'def', 'ghi', 'jkl', 'mno'];
const regexp = new RegExp(/h/);
const test = str => regexp.test(str);

console.log(array.some(test)); //true

上記例では、配列にhの文字列を持つ要素が存在するか判定しています。添字2番目に対象の文字列が存在するため、実行結果はtrueとなります。

他にも様々なケースで配列に条件を満たす要素が存在するかを判定するができます。

スポンサーリンク

最後に

本記事では、配列から条件を満たす要素の判定について、いくつかサンプルを使ってご紹介してきました。以前は制御構文(if文やfor文)を組み合わせて配列に要素が存在するか判定していましたが、someメソッドを使えばかなりすっきりした記述になります。配列の要素を判定する際に使ってみてくださいね。

以上、JavaScriptのsomeメソッドで、配列に条件を満たす要素が存在するか判定する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク