Underscoreを使う際のTips的な(オブジェクト編)
記述テンプレ
_.○○○○(object);
_.keys(object)
キーを配列に抽出する
_.keys({A: 1, B: 2, C: 3}); => ["A", "B", "C"]
_.values(object)
値を配列に抽出する
_.values({A: 1, B: 2, C: 3}); => [1, 2, 3]
_.pairs(object)
キーと値のペア配列に変換する
_.pairs({A: 1, B: 2, C: 3})
=> [["A", 1], ["B", 2], ["C", 3]]
_.invert(object)
キーを値に、値をキーに反転する
_.invert({A: "aaa", B: "bbb", C: "ccc"});
=> {aaa: "A", bbb: "B", ccc: "C"};
_.functions(object)
名前順にオブジェクト名を返す。
_.functions(_);
=> ["all", "any", "bind", "bindAll", "clone", "compact", "compose" ...
_.extend(destination, *sources)
オブジェクトを結合する。
_.extend({name: 'A'}, {age: 20});
=> {name: 'A', age: 20
_.pick(object, *keys)
オブジェクトから引数の条件に該当する部分のみを抽出する。
_.pick({name: 'A', age: 10, userid: 'a01'}, 'name', 'age');
=> {name: 'A', age: 10}
_.pick({name: 'A', age: 10, userid: 'a01'}, function(value, key, object) {
return _.isNumber(value);
});
=> {age: 10}
_.omit(object, *keys)
オブジェクトから引数の条件に該当する部分を除外する。
_.omit({name: 'A', age: 10, userid: 'a01'}, 'name', 'age');
=> {userid: 'a01'}
_.omit({name: 'A', age: 10, userid: 'a01'}, function(value, key, object) {
return _.isNumber(value);
});
=> {name: 'A', userid: 'a01'}
_.defaults(object, *defaults)
オブジェクトのキーについて、引数に渡されたオブジェクトの同一キーを上書きする。
var name = {name: "bbb"};
_.defaults(name, {name: "aaa", age: 20});
=> {name: "bbb", age: 20}
_.clone(object)
オブジェクトのコピー
_.clone({name: 'aaa'});
=> {name: 'aaa'};
_.has(object, key)
オブジェクトに指定のキーが存在しているかどうかを返す。
_.has({A: 1, B: 2, C: 3}, "B"); => true
_.property(key)
プロパティで指定したキーの値について一致しているかどうかを返す。
var name = {name: 'A'};
'A' === _.property('name')(name);
=> true
_.isEqual(object, other)
オブジェクト同士が一致するかどうかを返す
var A = {name: 'A', luckyNumbers: [1, 2, 3]};
var copyA = {name: 'A', luckyNumbers: [1, 2, 3]};
_.isEqual(A, copyA);
=> true
_.isEmpty(object)
オブジェクトが空なら真、そうでなければ偽を返す。
_.isEmpty({name: "A", age: 20}); => false
_.isEmpty({}); => true
_.is○○○○(object)
_.isElement, _.isArray, _.isObject, _.isArguments, _.isFunction, _.isString, _.isNumber, _.isFinite, _.isBoolean, _.isDate, _.isRegExp, _.isNaN, _.isNull, _.isUndefined
存在確認、真偽値を返す。