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

引数のkey値をまとめた配列を返す。

■使用例

var obj = { 
        title : "悪魔城ドラキュラX 月下の夜想曲", 
        year : 1994,
        author : "Michiru Yamane"
    };
// re = [ "title", "year", "author" ];
var re = _.keys( obj );

■内部構造

  _.keys = function(obj) {
  	
// 引数が Object じゃない時。
    if (!_.isObject(obj)) return [];

// Underscore 内部で nativeKeys = Object.keys; が宣言されているので、あれば適用する。
    if (nativeKeys) return nativeKeys(obj);
    
    var keys = [];
// Object の key値 を抽出して obj が key値 を持っていたら、 keys 配列に入れるforループ。    
    for (var key in obj) if (_.has(obj, key)) keys.push(key);
    
// IE9用と思われる部分。未検証。
    // Ahem, IE < 9.
    if (hasEnumBug) collectNonEnumProps(obj, keys);
    
// 結果の配列を返す。    
    return keys;
  };

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