カテゴリ: JavaScript 更新日: 2026/06/17

JavaScriptのsome()とevery()の違いと使い方を初心者向けに解説!配列チェックを簡単に

JavaScriptのsome()・every()の使い方と違いを解説
JavaScriptのsome()・every()の使い方と違いを解説

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptで配列の中の条件をまとめてチェックしたいときってどうするんですか?」

先生

「その場合、some()every()というメソッドを使うと便利です。配列の要素が条件を満たすかどうかを簡単に調べることができます。」

生徒

「some()とevery()はどこが違うんですか?」

先生

some()は『1つでも条件を満たすか』をチェックする方法で、every()は『全ての要素が条件を満たすか』をチェックします。では、順番に見ていきましょう!」

1. some()メソッドとは?

1. some()メソッドとは?
1. some()メソッドとは?

JavaScriptのsome()メソッドは、配列の中で少なくとも1つの要素が条件を満たすかを調べるためのメソッドです。条件を関数で指定し、配列の中に条件に合う要素があればtrueを返します。


const numbers = [1, 3, 5, 8];
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true

上の例では、配列numbersの中に偶数(2で割り切れる数)があるかをチェックしています。1つでも偶数があるのでtrueが返されます。

2. every()メソッドとは?

2. every()メソッドとは?
2. every()メソッドとは?

JavaScriptのevery()メソッドは、配列の全ての要素が条件を満たすかをチェックするメソッドです。1つでも条件を満たさない要素があればfalseを返します。


const numbers = [2, 4, 6, 8];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // true

この例では、配列numbersの全ての要素が偶数かをチェックしています。全て偶数なのでtrueが返されます。

3. some()とevery()の違いを具体例で確認

3. some()とevery()の違いを具体例で確認
3. some()とevery()の違いを具体例で確認

some()とevery()の違いは条件を満たす範囲です。some()は「1つでも条件に合えばよい」、every()は「全てが条件に合う必要がある」という点で異なります。


const numbers = [1, 2, 3, 4];
console.log(numbers.some(num => num > 3)); // true(4が条件に合う)
console.log(numbers.every(num => num > 3)); // false(1,2,3が条件に合わない)

この例を見ると、some()は条件に合う要素が1つでもあればtrue、every()は全てが条件を満たさないとfalseになることがわかります。

4. some()の便利な使い方

4. some()の便利な使い方
4. some()の便利な使い方

例えば、ユーザーの入力に禁止ワードが含まれているかをチェックしたい場合、some()を使うと簡単です。


const forbiddenWords = ["spam", "広告", "迷惑"];
const userInput = "この文章に広告は含まれています";
const hasForbidden = forbiddenWords.some(word => userInput.includes(word));
console.log(hasForbidden); // true

配列の中の単語が1つでも含まれていればtrueとなり、禁止ワードを簡単にチェックできます。

5. every()の便利な使い方

5. every()の便利な使い方
5. every()の便利な使い方

every()は例えば、フォームで全ての入力が条件を満たしているかチェックするのに便利です。


const ages = [20, 25, 30];
const allAdults = ages.every(age => age >= 18);
console.log(allAdults); // true

この例では、全員が18歳以上かをチェックしています。全て18以上なのでtrueが返されます。

6. some()とevery()を組み合わせる応用例

6. some()とevery()を組み合わせる応用例
6. some()とevery()を組み合わせる応用例

some()とevery()を組み合わせると、より柔軟な条件チェックが可能です。例えば、配列の中に偶数が1つでもあり、かつ全ての数が10以下か確認したい場合:


const numbers = [2, 4, 6, 8];
const hasEven = numbers.some(num => num % 2 === 0);
const allBelowTen = numbers.every(num => num <= 10);
console.log(hasEven && allBelowTen); // true

このように条件を組み合わせることで、配列の中身を簡単にチェックできるようになります。

7. 初心者でも覚えやすいポイント

7. 初心者でも覚えやすいポイント
7. 初心者でも覚えやすいポイント
  • some()は「少なくとも1つ」がキーワード
  • every()は「全部」がキーワード
  • どちらも配列の要素に対して関数を実行して条件をチェックする
  • 条件式が複雑でも組み合わせれば柔軟に対応可能

8. まとめると

8. まとめると
8. まとめると

JavaScriptのsome()every()は、配列の要素が条件を満たすかを簡単に調べるメソッドです。some()は「1つでも条件に合う」、every()は「全て条件に合う」と覚えておくと便利です。フォームチェックや禁止ワードチェックなど、日常的なプログラムで非常によく使われます。

最初は少し難しく感じるかもしれませんが、簡単な配列を使った例を繰り返し実行することで自然に理解できます。条件を変えて色々試してみると学習効果が高まります。

9. さらに発展的な使い方

9. さらに発展的な使い方
9. さらに発展的な使い方

配列の中のオブジェクトをチェックすることもできます。例えば、ユーザーのデータが全員成人か、一部が管理者かをチェックする場合:


const users = [
  { name: "太郎", age: 20, admin: false },
  { name: "花子", age: 25, admin: true },
  { name: "次郎", age: 30, admin: false }
];
const hasAdmin = users.some(user => user.admin);
const allAdults = users.every(user => user.age >= 18);
console.log(hasAdmin); // true
console.log(allAdults); // true

このように、オブジェクトのプロパティに対してもsome()every()を使って条件チェックが可能です。

10. 注意点とコツ

10. 注意点とコツ
10. 注意点とコツ

some()やevery()は元の配列を変更しません。条件を満たすかどうかを確認するだけのメソッドです。配列の中身を変えたい場合は別のメソッド(map()filter()など)と組み合わせる必要があります。また、関数の中で複雑な処理を行うと可読性が下がるので、できるだけ短く簡潔な条件式を使うことがコツです。

まとめ

まとめ
まとめ

JavaScriptのsome()every()は、配列の条件チェックを簡単かつ効率的に行うためのメソッドです。some()は「少なくとも1つの要素が条件を満たすか」を判定するのに使い、every()は「全ての要素が条件を満たすか」を判定します。これらのメソッドを使うことで、forループで一つずつ条件を確認する手間を省くことができ、コードがシンプルで読みやすくなります。また、禁止ワードチェックやフォーム入力のバリデーション、ユーザーデータの条件確認など日常的な開発シーンでも活用できます。

特に初心者の方は、some()を「1つでも条件に合えばよい」、every()を「全部が条件に合う必要がある」と覚えておくと、さまざまな配列操作に応用しやすくなります。また、配列の中のオブジェクトにも適用できるため、ユーザー情報や商品データなど複雑なデータ構造のチェックにも柔軟に対応可能です。さらに、some()every()を組み合わせることで、条件を複数設定した高度な判定も簡単に実装できます。

注意点としては、どちらのメソッドも配列を変更せず、条件判定のみを行うということです。配列の加工や抽出が必要な場合はmap()filter()と組み合わせるのが効果的です。また、コールバック関数はできるだけシンプルに保ち、複雑な処理は別関数に分けることでコードの可読性を保つことがポイントです。

さらに、実務でよく使われるパターンとしては以下のようなものがあります。例えば、ユーザーが管理者かどうかをチェックする場合や、全員が成人かを確認する場合です。some()every()を活用することで、条件判定を簡潔に書くことができます。


const users = [
  { name: "太郎", age: 20, admin: false },
  { name: "花子", age: 25, admin: true },
  { name: "次郎", age: 30, admin: false }
];
const hasAdmin = users.some(user => user.admin);
const allAdults = users.every(user => user.age >= 18);
console.log(hasAdmin); // true
console.log(allAdults); // true

このように、配列の要素やオブジェクトのプロパティに対して条件チェックを簡単に行える点がsome()every()の大きな利点です。学習初期は少し混乱するかもしれませんが、実際に配列や条件を変えながら繰り返し練習することで自然に理解できます。条件式の組み合わせや応用パターンも多数存在するため、実務に即した練習を積むことでより効率的に配列操作を習得できます。

さらに理解を深めるために、禁止ワードチェックや全員が成人かを判定するなど実務でよくあるシナリオでsome()every()を使った例を試すことをおすすめします。これにより、配列操作や条件判定に対する理解が格段に向上します。

先生と生徒の振り返り会話

生徒

「先生、some()とevery()って条件チェックだけで配列は変わらないんですね。じゃあ値を変更したいときは別のメソッドと組み合わせるんですか?」

先生

「その通りです。例えばmap()で値を変換したり、filter()で条件に合う要素だけ取り出したりして使います。」

生徒

「なるほど。some()は1つでも条件に合えばいい、every()は全部合う必要がある、と覚えれば簡単ですね。」

先生

「その通りです。最初は簡単な配列で練習して、徐々にオブジェクトや複雑な条件にも挑戦してみましょう。条件を組み合わせることで実務でも役立つ柔軟なチェックができるようになります。」

生徒

「ありがとうございます。今日学んだことを使って、フォーム入力のバリデーションやデータチェックもやってみます。」

先生

「良いですね。繰り返し実践することで、some()とevery()の理解がさらに深まります。慣れてくると条件チェックのコーディングがぐっと楽になりますよ。」

カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptのスコープとは?ローカル変数・グローバル変数の違いと使い分け
New2
TypeScript
TypeScriptで型の合成時に発生する型エラーの対処法を徹底解説!初心者にもわかりやすく解説
New3
TypeScript
TypeScriptでAPI呼び出しをラップするユーティリティ関数の設計完全ガイド!初心者向けにAxiosやFetchの使い方を解説
New4
TypeScript
TypeScriptのMapped Typesとインターフェースの連携方法を徹底解説!初心者でも理解できる型変換の基本
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのループで無限ループが起きる原因と対策を初心者向けに徹底解説!
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの文字列の長さを取得する(lengthプロパティ)
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptのファイル分割とimport/exportの基本を徹底解説!初心者でも安心のやさしい入門
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptのプリミティブ型と参照型の違いを初心者向けに解説
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理