some/everyメソッド

some/everyメソッドとは

someメソッドは配列のデータが条件を1つでも満たす場合にtrueを返します。
everyメソッドは配列が条件を全て満たす場合にtrueを返します。

some/everyメソッドの使い方

someの場合、itemsのデータに対して1つずつコールバック関数で定義した条件でチェックし、データが1つでも条件を満たした場合にtrueを返します。全てのデーアが条件を満たさない場合のみfalseを返します。
everyの場合、itemsのデータに対して1つずつコールバック関数で定義した条件でチェックし、データが全て条件を満たした場合にtrueを返します。1つでも条件を満たさないデータがある場合にはfalseとなります。

var items = 配列データ;
 
var some_item = items.some(コールバック関数);
var every_item = items.every(コールバック関数);

someの実行例

// 配列の定義
var items = [
  { name: 'きゅうり', type: '野菜', quote: 3, price: 100 },
  { name: 'バナナ', type: 'フルーツ', quote: 12, price: 300 },
  { name: 'セロリ', type: '野菜', quote: 9, price: 250 },
  { name: 'オレンジ', type: 'フルーツ', quote: 8, price: 500 },
];

// item.quoteに5より小さいデータがあるかを確認
var some_item = items.some(function(item) {
  return item.quote < 5;
});

// some_itemを表示
console.log(some_item);

someの実行結果

「きゅうり」のquoteの値が5より小さい値となるのでtrueとなります。item.quote < 2とし、条件を2より小さい値とした場合、条件を満たすデータが無くなりますのでfalseとなります。

true

everyの実行例

// 配列の定義
var items = [
  { name: 'きゅうり', type: '野菜', quote: 3, price: 100 },
  { name: 'バナナ', type: 'フルーツ', quote: 12, price: 300 },
  { name: 'セロリ', type: '野菜', quote: 9, price: 250 },
  { name: 'オレンジ', type: 'フルーツ', quote: 8, price: 500 },
];

// item.quoteに2より大きいデータがあるかを確認
var every_item = items.every(function(item) {
  return item.quote > 2;
});

// every_itemを表示
console.log(every_item);

everyの実行結果

全てのデータのquoteが2より大きい値となるのでtrueとなります。条件をitem.quote < 5とし、5より小さい値とした場合、「きゅうり」のquoteが条件を満たさなくなるためfalseとなります。

true

コメント