JavaScriptのArray.some()メソッドとは?使い方を実例付きでわかりやすく解説
Array.some()メソッドとは
Array.some() は、配列内の少なくとも1つの要素が、引数として渡されたコールバック関数によるテストを通過するかどうかを判定するメソッドです。
すべての要素がテストを通過した場合にのみ true を返す Array.every() とは異なり、Array.some() は1つでも条件を満たす要素が存在すれば true を返し、すべての要素が条件を満たさなかった場合にのみ false を返します。
構文
arr.some(callback(currentValue, index, array))
- callback: 各要素に対して実行されるテスト関数
- currentValue: 現在処理中の要素
- index: 現在処理中の要素のインデックス(省略可能)
- array: 対象となっている配列そのもの(省略可能)
次の例では、Array.some() を使って、配列内の給与データの中に指定した基準額(15,000)以上の要素が存在するかどうかを確認し、その結果を真偽値(true / false)で出力しています。
コード例
<html>
<body>
<p id="some1"></p>
<p id="some2"></p>
<script>
var wages = [33000, 10000, 1000, 20000];
var salary = [3000, 9000, 14000, 10000];
function checkSal(wage) {
return wage >= 15000;
}
document.getElementById("some1").innerHTML = wages.some(checkSal);
document.getElementById("some2").innerHTML = salary.some(checkSal);
</script>
</body>
</html>
実行結果
true
false
結果の解説
wages 配列には 33,000 や 20,000 といった 15,000 以上の要素が含まれているため、テスト関数 checkSal の条件を満たし、最初の出力には true が表示されます。
一方、salary 配列の最大値は 14,000 であり、15,000 以上の要素が1つも存在しないため、2番目の出力には false が表示されます。
ポイント
Array.some() は、条件を満たす要素を見つけた時点で即座に true を返して処理を終了します。このため、要素数の多い配列でも無駄なループ処理が発生せず、効率的に動作します。空の配列に対して実行した場合は false を返すことにも注意してください。
-
JavaScriptのpopメソッドとは?基本の構文と使い方をわかりやすく解説
JavaScriptの配列には、データを操作するためのさまざまなメソッドが用意されています。その中のひとつがpopメソッドです。Web開発者は、配列から最後の要素を取り除きたいときや、取り除いた要素を使って何か処理を行いたいときに、このメソッドを活用します。本記事では、popメソッドの基本的な使い方を具体例とともにわかりやすく解説します。 popメソッドの構文 popメソッドの構文は非常にシンプルです。定義上、popメソッドは配列の最後の要素を削除し、その削除した要素を返す働きを持ちます。 let frozen = [ Anna, Elsa, Olaf, Kristoff, Sven ]
-
JavaScriptのWeakMapでclear()メソッドを使う方法とは?
WeakMapのclear()メソッドとはWeakMapオブジェクトのclear()メソッドは、そのWeakMapに格納されているすべてのキーと値のペアを一括で削除するためのメソッドです。しかし、このメソッドは現在のECMAScriptの仕様からは削除されています。そのため、標準のWeakMapに対して直接clear()を呼び出すことはできません。とはいえ、WeakMapオブジェクトをラップするクラスを作成し、clear()メソッドに対応した処理を追加することで、同様の機能を簡単に実現できます。実装例:clear()メソッドを持つWeakMapラッパークラスclass ClearableWea