第1引数「配列(Object)」の値の中で第2引数の関数の条件を満たしている最初の値が返される。
■使用例
var arr = [ 7, 1, 6, 7, 4 ];
var func = function(num){
return num % 2 == 0;
}
// re = 6
var re = _.find( arr, func );
■内部構造
_.find = _.detect = function(obj, predicate, context) {
var key;
if (isArrayLike(obj)) {
// objが配列なら_.findIndex()で条件を満たしている値のindex値が返される。
key = _.findIndex(obj, predicate, context);
} else {
// objがObjectなら_.findKey()で条件を満たしている値のindex値が返される。
key = _.findKey(obj, predicate, context);
}
// 条件を満たしているobjの最初の値が返される。
if (key !== void 0 && key !== -1) return obj[key];
};