JavaScriptのsomeメソッドの使い方について書いています。
someメソッドは配列から呼び出すことができるメソッドです。
JavaScriptのsomeメソッドとは?
some
メソッドは配列から呼び出すことができ、指定した関数で配列を判定して、配列要素がひとつでも条件を満たすとtrue
を返します。
構文:
array.some(callback);
array.some(callback, thisArg); // thisArgは省略可能
パラメータ:
– callback
:配列の各要素に適用される関数、配列を評価する関数を渡す。
– thisArg
(省略可能):callback
内で使用されるthis
。
戻り値:
– 要素がひとつでも条件を満たす場合はtrue
、それ以外はfalse
。
someメソッドを使って数値を判定する
some
メソッドを使って、配列要素がひとつでも10より大きいか判定します。
const numbers = [1, 3, 11, 7, 8];
const result = numbers.some(number => number > 10);
console.log(result); // true
数値配列のnumbers
変数を作っています。
そして、numbers
からsome
メソッドを呼び出して、指定した関数で判定しています。
配列要素がひとつずつ、number
変数に取り出されて判定されます。
numbers
配列には「11
」が入っています。「10
」より大きい数字があるので、true
が返ってきます。
someメソッドを使って文字列を判定する
some
メソッドを使って、配列要素に指定した文字列がひとつでもあるか判定します。
const fruits = ['apple', 'banana', 'peach', 'melon', 'grape'];
const searchPeach = (value) => {
return value === 'peach';
}
const result = fruits.some(searchPeach);
console.log(result); // true
果物名の配列をfruits
変数に作りました。
その次の行で、searchPeach
関数を作成して、渡された要素が「peach
」かを確認しています。
そして、fruits
変数からsome
メソッドを呼び出して、判定するsearchPeach
関数を渡しています。
配列には「peach
」が含まれているので、true
が返ってきます。
配列が空の場合は?
空の配列の場合には、some
メソッドは常にfalse
が返ってきます。
const emptyArray = [];
const result = emptyArray.some(number => number > 10);
console.log(result); // false
emptyArray
変数は空配列です。
その次の行で、some
メソッドを呼び出していますが、空配列のためfalse
が返ってきます。
空配列の時にevery
メソッドはtrue
を返すので、間違えないように気をつけたいところです。
おわりに
今回はJavaScriptのsomeメソッドについて書いていきました。
記事の内容をまとめると、下記のようになります。
・someメソッドを使うことで、配列の要素がひとつでも合っているか確認できる。
・配列の要素が、指定した判定関数に、ひとつでもあてはまる場合にはtrueを返す。違う場合はfalseになる。
every
メソッドと使い分けて、効率よく判定処理を実装していきたいですね。
コメント