JavaScriptのevery()メソッドとは?使い方とサンプルコードをわかりやすく解説
JavaScriptの配列(Array)メソッドである every() は、配列内のすべての要素が、指定した関数によるテスト条件を満たしているかどうかを判定するメソッドです。
判定結果はブール値(真偽値)として返されます。
- すべての要素が条件を満たす場合 →
true - 1つでも条件を満たさない要素がある場合 →
false
every()メソッドのパラメータ
every()メソッドでは、以下の2つの引数を使用できます。
- callback − 各要素に対して実行されるテスト用の関数です。この関数が
falseを返すと、その時点で処理が中断され、every()全体がfalseを返します。 - thisObject − callbackを実行する際に
thisとして使用されるオブジェクトです(省略可能)。
every()メソッドの使用例
次のコードを実行すると、JavaScriptにおける every() メソッドの動作を確認できます。ここでは「要素が10以上かどうか」を判定する関数を使っています。
<html>
<head>
<title>JavaScript Array every Method</title>
</head>
<body>
<script>
if (!Array.prototype.every) {
Array.prototype.every = function(fun /*, thisp*/) {
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this && !fun.call(thisp, this[i], i, this))
return false;
}
return true;
};
}
function isBigEnough(element, index, array) {
return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
document.write("First Test Value : " + passed );
passed = [12, 54, 18, 130, 44].every(isBigEnough);
document.write("<br>Second Test Value : " + passed );
</script>
</body>
</html>
実行結果の解説
上記のコードでは、2つのテストを行っています。
- 1回目のテスト: 配列
[12, 5, 8, 130, 44]の中には10未満の要素(5と8)が含まれているため、結果はfalseになります。 - 2回目のテスト: 配列
[12, 54, 18, 130, 44]のすべての要素が10以上であるため、結果はtrueになります。
なお、サンプルコード冒頭の Array.prototype.every の定義は、every()メソッドがサポートされていない古いブラウザ向けのポリフィル(互換用コード)です。モダンブラウザではevery()メソッドが標準で実装されているため、通常はこの部分を省略して直接利用できます。
-
JavaScriptの_.union()メソッドとは?配列の重複を除去して結合する使い方を解説
_.union()メソッドの基本_.union()は、JavaScriptの便利なライブラリであるunderscore.jsに用意されているメソッドです。この関数は、複数の配列を受け取り、それらすべてに含まれる要素を統合したうえで、重複のない新しい配列(いわゆる「和集合」)を返します。各配列の値をすべて精査し、ユニークな値だけを新しい配列へと取り込んでくれるため、データの整理や重複排除の処理を簡潔に記述できるのが大きな魅力です。構文_.union( array1, array2, .... );引数として渡せる配列の数に制限はなく、2つでも3つでも、必要な数だけ指定できます。使用例:数値配列の
-
JavaScriptの_.size()メソッドとは?配列のサイズを取得する方法を解説
_.size()メソッドとは_.size()は、JavaScriptの定番ユーティリティライブラリであるunderscore.jsに用意されている関数です。主に配列の要素数(サイズ)を取得するために使われます。このメソッドを使用する前に、underscore.jsのCDNをページに読み込んでおく必要がある点に注意してください。構文_.size(array);例1:通常の配列の場合次の例では、数値を格納した通常の配列を_.size()メソッドに渡し、配列のサイズを取得しています。<html> <body> <head> <script src =