「find / findIndex / some / every」って文法だけ覚えてもピンとこないですよね。そこで、実際の開発や日常的なプログラミングでどう役立つかを具体的なシーンで紹介します。
応用シーン例
1. ユーザー管理
- 状況: 会員リストから「特定のメールアドレスを持つユーザー」を探したい
- 使うメソッド:
find
const users = [
{id:1, email:'a@example.com'},
{id:2, email:'b@example.com'}
];
const target = users.find(u => u.email === 'b@example.com');
console.log(target); // {id:2, email:'b@example.com'}
JavaScript👉 ログイン処理やプロフィール表示でよく使う。
2. 在庫チェック
- 状況: 商品リストの中に「在庫切れの商品があるか」を調べたい
- 使うメソッド:
some
const products = [
{name:'Apple', stock:10},
{name:'Banana', stock:0},
{name:'Orange', stock:5}
];
const hasOutOfStock = products.some(p => p.stock === 0);
console.log(hasOutOfStock); // true
JavaScript👉 ショッピングサイトで「在庫切れ表示」を出すときに便利。
3. 入力フォームのバリデーション
- 状況: 入力された値が「すべて必須項目を満たしているか」を確認したい
- 使うメソッド:
every
const inputs = ['山田太郎', 'taro@example.com', '090-1234-5678'];
const allFilled = inputs.every(val => val !== '');
console.log(allFilled); // true
JavaScript👉 空欄があれば送信を止める、といったチェックに使える。
4. データ分析(最初の異常値を探す)
- 状況: センサーの温度データから「最初に30℃を超えた時点」を見つけたい
- 使うメソッド:
findIndex
const temps = [25, 27, 29, 31, 30];
const firstHot = temps.findIndex(t => t > 30);
console.log(firstHot); // 3
JavaScript👉 IoTやモニタリングで「異常検知」するときに役立つ。
5. NGワードフィルタ
- 状況: 投稿文に禁止ワードが含まれていないかを確認したい
- 使うメソッド:
some
const ngWords = ['禁止', '暴力', '差別'];
const post = '今日は平和な一日でした';
const hasNg = ngWords.some(word => post.includes(word));
console.log(hasNg); // false
JavaScript👉 SNSや掲示板の投稿チェックに使える。
まとめ
- find / findIndex → 「最初のひとつ」を探す(ユーザー検索、異常値検出など)
- some → 「1つでもあるか」を調べる(在庫切れ、NGワードチェックなど)
- every → 「全部OKか」を調べる(入力チェック、合格判定など)
こうして見ると、実務でもかなり出番が多いメソッドなんです。
👉 次のステップとしては、filter(条件に合う要素を全部取り出す)と組み合わせるとさらに強力になります。
