第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);
};