JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのsome()メソッドとは?配列の条件判定をわかりやすく解説

JavaScriptのsome()メソッドとは

JavaScriptのsome()メソッドは、配列内の要素が指定した条件を満たすかどうかを判定するためのメソッドです。コールバック関数で定義した条件に合致する要素が1つでも存在すればtrueを返し、1つも存在しなければfalseを返します。

このメソッドは、たとえば「リストの中に一定の基準を満たすデータがあるか」を手軽に確認したい場合に非常に便利です。

基本構文

some()メソッドの書式は以下の通りです。

array.some(function(currentVal, index, arr), val)

各パラメータの意味は次のようになっています。

  • currentVal … 現在処理中の要素の値
  • index … 現在処理中の要素のインデックス番号(省略可)
  • arr … 対象となる配列オブジェクト(省略可)
  • val … コールバック関数を実行する際に渡す値(省略可)

それでは、JavaScriptでsome()メソッドを実際に使ってみましょう。

サンプルコード①:400より大きい点数があるかチェック

以下の例では、配列内に「400より大きい点数」が1つでもあるかどうかを判定します。

<!DOCTYPE html>
<html>
<body>
   <h2>ランキングポイント</h2>
   <p>400より大きい点数はありますか?</p>
   <button onclick="display()">結果を表示</button>
   <p id="demo"></p>
  <script>
     var pointsArr = [50, 100, 200, 300, 400, 500, 600];
     function pointsFunc(points) {
       return points > 400;
     }
     function display() {
       document.getElementById("demo").innerHTML = pointsArr.some(pointsFunc);
     }
 </script>
</body></html>

実行結果

JavaScriptのsome()メソッドとは?配列の条件判定をわかりやすく解説

「結果を表示」ボタンをクリックすると、判定結果が出力されます。この配列には500と600という400より大きい値が含まれているため、結果はtrueになります。

JavaScriptのsome()メソッドとは?配列の条件判定をわかりやすく解説

サンプルコード②:550に等しい点数があるかチェック

今度は、配列内に「550と等しい点数」が存在するかどうかを判定してみましょう。

<!DOCTYPE html>
<html>
<body>
   <h2>ランキングポイント</h2>
   <p>550に等しい点数はありますか?</p>
   <button onclick="display()">結果を表示</button>
   <p id="demo"></p>
  <script>
     var pointsArr = [10, 20, 30, 40, 50, 60, 70, 80, 90, 1000];
     function pointsFunc(points) {
       return points == 550;
     }
     function display() {
       document.getElementById("demo").innerHTML = pointsArr.some(pointsFunc);
     }
 </script>
</body></html>

実行結果

JavaScriptのsome()メソッドとは?配列の条件判定をわかりやすく解説

「結果を表示」ボタンをクリックすると、判定結果が出力されます。この配列には550に一致する要素が存在しないため、結果はfalseになります。

JavaScriptのsome()メソッドとは?配列の条件判定をわかりやすく解説

some()メソッドを使う際のポイント

  • 条件を満たす要素が1つでも見つかった時点で処理を終了し、trueを返します。
  • 空の配列に対して呼び出した場合は、常にfalseが返されます。
  • 「すべての要素が条件を満たすか」を確認したい場合は、every()メソッドを使用します。

  1. JavaScriptの配列some()メソッドの使い方をわかりやすく解説

    JavaScriptのArray.some()メソッドは、配列の要素の中に、指定されたテスト(条件)を満たすものが「1つでも存在するかどうか」を判定するためのメソッドです。ここでいうテストとは、配列の各要素に対して順番に実行されるコールバック関数のことを指します。コールバック関数が1つでもtrueを返した時点でsome()はtrueを返し、すべての要素が条件を満たさなかった場合はfalseを返します。なお、空の配列に対して呼び出した場合は常にfalseを返すという仕様になっている点にも注意しましょう。some()メソッドのサンプルコード以下は、配列のsome()メソッドを使った具体的な実装例で

  2. 【JavaScript】関数から返された配列にアクセスする方法

    JavaScriptでは、関数の戻り値として配列を返し、呼び出し元でその配列を受け取って自由に操作することができます。本記事では、関数から返された配列へアクセスする具体的な方法を、実際に動作するサンプルコードとともに解説します。 実装例:関数から配列を返してアクセスする 以下のサンプルでは、引数に渡された数値の1倍〜10倍の値を要素とする配列を生成して返すretTable()関数を定義しています。ボタンをクリックすると、この関数が返した配列を変数で受け取り、画面に表示します。 <!DOCTYPE html> <html lang=ja> <head> &l