findKey() | Underscore JS 日本語リファレンス

第1引数「Object」の値の中で第2引数の関数の条件を満たしている最初のkey値が返される。

■使用例

var obj = { js01: "Underscore JS", js02 : "jQuery" };
var func = function( val, key, obj ){ 
	if( key == "js01" ) return val;
}
// re = js01
var re = _.findKey( obj, func );

■内部構造

  _.findKey = function(obj, predicate, context) {

// 第3引数が入力されていない、第2引数が関数ならそのまま。
    predicate = cb(predicate, context);
    
// Objectのkey値のみの配列を作成。ローカル変数keyの宣言。
    var keys = _.keys(obj), key;

// Objectの各値が第2引数の関数に適用されるforループ。 
    for (var i = 0, length = keys.length; i < length; i++) {
      key = keys[i];
      
// 第2引数の関数の条件を満たしていたObjectの最初のkey値が返される。
      if (predicate(obj[key], key, obj)) return key;
    }
  };

このページのトップへ戻る