配列から条件に合致する最初の値のみ取得するには、.find()を使用します。
サンプルソース
例1)数値配列から値が5以上の値で一番最初に見つかった値のみ取得する
1 2 3 4 5 6 7 8 |
//配列 var arr = [1, 3, 5, 7, 9]; //抽出 var arr2 = arr.find(function(e){ return (e >= 5);}); //結果表示 console.log(arr2); |
- (結果)
- 5
7と9も条件に一致しますが、findは一番初めに見つかったもののみ返します。
例2)オブジェクト配列からcodeが110以上で一番初めの値のみ取得する
1 2 3 4 5 6 7 8 9 10 11 12 |
//オブジェクト配列 var arr = [ {code:100, name:"aaa"}, {code:110, name:"bbb"}, {code:120, name:"ccc"} ]; //抽出 var arr2 = arr.find(function(e){ return (e.code >= 110);}); //結果表示 console.log(arr2); |
- (結果)
- {code:110, name:"bbb"}
{code:120, name:"ccc"}も条件に一致しますが、findは一番初めに見つかったもののみ返します。
解説
- 一番初めに見つかった値だけでなく、すべての値を取得したい場合は、.filterをご使用ください。