someメソッド
メソッド some は、渡された関数に従って配列の要素をチェックします。この関数はメソッドのパラメータとして渡され、配列の各要素に対して実行されます。メソッドは、配列の少なくとも一つの要素に対して渡された関数が true を返せば true を返し、それ以外の場合には false を返します。
関数には3つのパラメータを渡すことができます。これらのパラメータが存在する場合(必須ではありません)、1番目には自動的に配列の要素が、2番目にはその配列内の位置(インデックス)が、3番目には配列自体が渡されます。
構文
配列.some(function(要素, インデックス, 配列) {
});
例
数値の配列に正の数が少なくとも一つ存在するかチェックしてみましょう:
let arr = [-1, -2, -3, 4];
let check = arr.some(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(check);
コードの実行結果:
true
例
要素とその順序番号の積が 20 以上であるものが少なくとも一つ存在するかチェックします:
let arr = [1, 2, 3, 4, 5];
let check = arr.some(function(elem, index) {
if (elem * index >= 20) {
return true;
} else {
return false;
}
});
console.log(check);
コードの実行結果:
true
例
必要に応じて、3番目のパラメータに配列自体を渡すことができます:
let check = arr.some(function(elem, index, arr) {
// ここで配列arrにアクセス可能
});
関連項目
-
メソッド
every,
これも配列のチェックを可能にします -
メソッド
mapとforEach,
これらは各配列要素に関数を適用することを可能にします -
メソッド
reduceとreduceRight,
配列を一つの値に畳み込むメソッドです