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

第1引数から第2引数以降で指定したkey値以外のkey値とその値で構成されたObjectを返す。

■使用例

var obj = {
        works : "飛行夢", 
        works2 : "遠い音楽", 
        works3 : "私は羊", 
        works4 : "桜", 
        works5 : "moon years"
    };
// re = { works: "飛行夢", works3: "私は羊", works4: "桜" };
var re = _.omit( obj, "works2", "works5" );

■内部構造

  _.omit = function(obj, iteratee, context) {
// 第2引数が関数なら
    if (_.isFunction(iteratee)) {

// 関数の返す真偽値の反対を返す関数を返す。    	
      iteratee = _.negate(iteratee);
      
    } else {

// 第2引数以降をまとめた配列。  	
      var keys = _.map(flatten(arguments, false, false, 1), String);

// 第2引数以降をまとめた配列に入力されたkey値が含まれていたら、false を返す関数。        
      iteratee = function(value, key) {
        return !_.contains(keys, key);
      };
    }
    
 // 第1引数と条件によって設定された iteratee が _.pick() に渡される。     
    return _.pick(obj, iteratee, context);
  };

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