Skip to content

Latest commit

 

History

History
291 lines (205 loc) · 8.63 KB

Objects.md

File metadata and controls

291 lines (205 loc) · 8.63 KB

オブジェクト関数 原文

keys _.keys(object) 原文

object のプロパティ名を全て探索する。

_.keys({one : 1, two : 2, three : 3});
=> ["one", "two", "three"]

values _.values(object) 原文

object のプロパティの値を全て返す。

_.values({one : 1, two : 2, three : 3});
=> [1, 2, 3]

pairs _.pairs(object) 原文

objectを [key, value] のペアになっているリストに変換する。

_.pairs({one: 1, two: 2, three: 3});
=> [["one", 1], ["two", 2], ["three", 3]]

invert _.invert(object) 原文

キーを値に、値をキーにした object のコピーを返す。 この関数が機能するためには、オブジェクトのすべての値がユニークでシリアライズ可能な文字列である必要があります。

_.invert({Moe: "Moses", Larry: "Louis", Curly: "Jerome"});
=> {Moses: "Moe", Louis: "Larry", Jerome: "Curly"};

functions _.functions(object) Alias: methods 原文

オブジェクトの全てのメソッド名のソートされたリストを返します。 すなわち、オブジェクトの全ての関数のプロパティ名のことです。

_.functions(_);
=> ["all", "any", "bind", "bindAll", "clone", "compact", "compose" ...

extend _.extend(destination, *sources) 原文

source オブジェクトの全プロパティを destination オブジェクトにコピーして、 destination オブジェクトを返します。 整理すると、二つめの引数の source は一つめの引数にある同じ名前のプロパティを上書きします。

_.extend({name : 'moe'}, {age : 50});
=> {name : 'moe', age : 50}

pick _.pick(object, *keys) 原文

ホワイトリストとして指定したキー(もしくは有効なキーの配列)の値だけ持つようにフィルタリングした object のコピーを返します。

_.pick({name : 'moe', age: 50, userid : 'moe1'}, 'name', 'age');
=> {name : 'moe', age : 50}

omit _.omit(object, *keys) 原文

ブラックリストとして指定したキー(もしくはキーの配列)を省略するようにフィルタリングした object のコピーを返します。

_.omit({name : 'moe', age : 50, userid : 'moe1'}, 'userid');
=> {name : 'moe', age : 50}

defaults _.defaults(object, *defaults) 原文

defaults オブジェクトにある値を object のnullとundefinedのプロパティに挿入し、その object を返します。 プロパティが挿入され次第、以降のdefaults引数は影響を受けません。

var iceCream = {flavor : "chocolate"};
_.defaults(iceCream, {flavor : "vanilla", sprinkles : "lots"});
=> {flavor : "chocolate", sprinkles : "lots"}

clone _.clone(object) 原文

object の浅いコピーをしたクローンを作成します。 ネストされたオブジェクトや配列は参照によるコピーで、複製されたものではありません。

_.clone({name : 'moe'});
=> {name : 'moe'};

tap _.tap(object, interceptor) 原文

interceptor割り込み処理 を差し込んでから object を返します。 このメソッドの主な目的は、チェーン内の途中の結果を操作するためにメソッドチェーンを利用することです。

_.chain([1,2,3,200])
  .filter(function(num) { return num % 2 == 0; })
  .tap(alert)
  .map(function(num) { return num * num })
  .value();
=> // [2, 200] (alerted)
=> [4, 40000]

has _.has(object, key) 原文

objectに渡されたキーが含まれているかチェックします。 object.hasOwnProperty(key) と同じですが、誤って上書きされる 場合がある hasOwnProperty 関数への参照を安全に行えます。

_.has({a: 1, b: 2, c: 3}, "b");
=> true

isEqual _.isEqual(object, other) 原文

等しいものとするべきかどうか判断するために、2つのオブジェクト間で最適化された深い比較を行います。

var moe   = {name : 'moe', luckyNumbers : [13, 27, 34]};
var clone = {name : 'moe', luckyNumbers : [13, 27, 34]};
moe == clone;
=> false
_.isEqual(moe, clone);
=> true

isEmpty _.isEmpty(object) 原文

object に値が含まれていない場合、 true を返します。

_.isEmpty([1, 2, 3]);
=> false
_.isEmpty({});
=> true

isElement _.isElement(object) 原文

object がDOM要素の場合、 true を返します。

_.isElement(jQuery('body')[0]);
=> true

isArray _.isArray(object) 原文

object が配列の場合、 true を返します。

(function(){ return _.isArray(arguments); })();
=> false
_.isArray([1,2,3]);
=> true

isObject _.isObject(value) 原文

value がオブジェクトの場合、 true を返します。 注:JavaScriptの配列と関数はオブジェクトで、(普通の)文字列や整数はオブジェクトではありません。

_.isObject({});
=> true
_.isObject(1);
=> false

isArguments _.isArguments(object) 原文

object がArgumentsオブジェクトの場合、 true を返します。

(function(){ return _.isArguments(arguments); })(1, 2, 3);
=> true
_.isArguments([1,2,3]);
=> false

isFunction _.isFunction(object) 原文

object が関数の場合、 true を返します。

_.isFunction(alert);
=> true

isString _.isString(object) 原文

object が文字列の場合、 true を返します。

_.isString("moe");
=> true

isNumber _.isNumber(object) 原文

object が整数(NaN を含む)の場合、 true を返します。

_.isNumber(8.4 * 5);
=> true

isFinite _.isFinite(object) 原文

object が有限数の場合、 true を返します。

_.isFinite(-101);
=> true

_.isFinite(-Infinity);
=> false

isBoolean _.isBoolean(object) 原文

objecttruefalse のどちらかの場合、 true を返します。

_.isBoolean(null);
=> false

isDate _.isDate(object) 原文

object が日付オブジェクトの場合、 true を返します。

_.isDate(new Date());
=> true

isRegExp _.isRegExp(object) 原文

object が正規表現オブジェクトの場合、 true を返します。

_.isRegExp(/moe/);
=> true

isNaN _.isNaN(object) 原文

objectNaN の場合、 true を返します。 注:この関数は、変数が undefined の時に true が返される組み込みの isNaN 関数と同じではありません。

_.isNaN(NaN);
=> true
isNaN(undefined);
=> true
_.isNaN(undefined);
=> false

isNull _.isNull(object) 原文

objectの null の場合、 true を返します。

_.isNull(null);
=> true
_.isNull(undefined);
=> false

isUndefined _.isUndefined(value) 原文

valueundefined の場合、 true を返します。

_.isUndefined(window.missingVariable);
=> true