1 | カテゴリ | メソッド名 | 書式 | 説明 | aliases | native method変換 | 備考 | 擬似的な型(Ocamlっぽく) | 擬似型の用語 | 説明 | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | Collections | each | _.each(list, iterator, [context]) | コレクションのそれぞれの要素に関数を適用する。 | forEach | Array.prototype.forEach | val each : collection -> (a' -> undefined) -> ?:object -> undefined = <fun> | collection | 配列またはオブジェクト | ||||
3 | map | _.map(list, iterator, [context]) | コレクションのそれぞれの要素に関数を適用し、適用済みの要素を持つコレクションを返す。 | Array.prototype.map | val map : collection -> (a' -> b') -> ?:object -> array = <fun> | array | 配列 | ||||||
4 | reduce | _.reduce(list, iterator, memo, [context]) | コレクションのそれぞれの要素に対して、累積値xと要素yを合成する関数を適用し、合成された値を返す。 | inject, forldl | Array.prototype.reduce | 内部でArrayに変換している。その文脈での左とか右という意味。 | val reduce : collection -> (a' -> b' -> a') -> a' -> ?:object -> a' = <fun> | object | オブジェクト | ||||
5 | reduceRight | _.reduceRight(list, iterator, memo, [context]) | コレクションのそれぞれの要素に対して、累積値xと要素yを合成する関数を適用し、合成された値を返す。 | foldr | Array.prototype.reduceRight | 内部でArrayに変換している。その文脈での左とか右という意味。 | val reduceRight : collection -> (a' -> b' -> a') -> a' -> ?:object -> a' = <fun> | string | 文字列 | ||||
6 | find | _.find(list, iterator, [context]) | コレクションのそれぞれの要素に対して、関数を適用し、戻り値がtrueになる最初の要素を返す。 | detect | val find : collection -> (a' -> bool) -> ?:object -> a' = <fun> | number | 数値 | ||||||
7 | filter | _.filter(list, iterator, [context]) | コレクションのそれぞれの要素に対して、関数を適用し、戻り値がtrueになる要素を持つコレクションを返す。 | select | Array.prototype.filter | val filter : collection -> (a' -> bool) -> ?:object -> array = <fun> | bool | trueまたはfalse | |||||
8 | reject | _.reject(list, iterator, [context]) | コレクションのそれぞれの要素に対して、関数を適用し、戻り値がfalseになる要素を持つコレクションを返す。 | ネイティブメソッド変換しないので条件を考えなおして、filter使った方がいいかも | val reject : collection -> (a' -> bool) -> ?:object -> array = <fun> | undefined | undefined(戻り値なし) | ||||||
9 | all | _.all(list, iterator, [context]) | コレクションのそれぞれの要素に対して、関数を適用し、すべての要素がtrueであればtrue、そうでなければfalseを返す。 | every | Array.prototype.every | val all : collection -> (a' -> bool) -> ?:object -> bool = <fun> | (x -> y) | 関数(引数と戻り値) | |||||
10 | any | _.any(list, [iterator], [context]) | コレクションのそれぞれの要素に対して、関数を適用し、いずれかの要素がtrueであればtrue、そうでなければfalseを返す。 | some | Array.prototype.some | val any : collection -> ?:(a' -> bool) -> ?:object -> bool = <fun> | x' | 型不明の値 | |||||
11 | include | _.include(list, value) | コレクションに指定の値が含まれていればtrue、含まれていなければfalseを返す。 | contains | Array.prototype.indexOf | ネイティブメソッド変換で、indexOfの返り値をbool値にして返している。 比較は===で行なっているので、暗黙の型変換は発生しない。 | val include : collection -> 'a -> bool = <fun> | ?:x | オプション引数とその型 | ||||
12 | invoke | _.invoke(list, methodName, [*arguments]) | コレクションのそれぞれの要素に対して、指定したメソッドを適用し、メソッド適用済みの要素を持つコレクションを返す | 引数に渡すメソッド名はメソッドそのものを渡しても動く。 | val invoke : collection -> string -> ?:*:a' -> array = <fun> | *:x | 可変個の引数 | ||||||
13 | pluck | _.pluck(list, propertyName) | コレクションの要素から、指定したキーの値を取り出した配列を返す。 | 二次元配列か、配列の要素がオブジェクトの時しか使えない | val pluck : collection -> string -> array = <fun> | ||||||||
14 | max | _.max(list, [iterator], [context]) | コレクションの要素の最大値を返す。比較関数を渡すこともできる。 | Math.max | Math.maxで済む場合は使う必要ない。 | val max : collection -> ?:(a' -> number) -> ?:object -> a' = <fun> | |||||||
15 | min | _.min(list, [iterator], [context]) | コレクションの要素の最小値を返す。比較関数を渡すこともできる。 | Math.min | Math.minで済む場合は使う必要ない。 | val min : collection -> ?:(a' -> number) -> ?:object -> a' = <fun> | |||||||
16 | sortBy | _.sortBy(list, iterator, [context]) | コレクションの要素を、指定した関数でソートする。 | 内部で数値を使った比較をするので、渡す関数は数値を返すものでないといけない。 | val sortBy : collection -> (a' -> number) -> ?:object -> array = <fun> | ||||||||
17 | groupBy | _.groupBy(list, iterator) | コレクションの要素を、指定した関数でグループ化する。 | val groupBy : collection -> (a' -> number) -> object = <fun> | |||||||||
18 | sortedIndex | _.sortedIndex(list, value, [iterator]) | ソート済コレクションで、指定した値が属するインデックスを返す。 | 内部で二分探索をしているため、ソート済リストを渡すことが前提となる。 | val sortedIndex : collection -> a' -> ?:(a' -> b') -> number = <fun> | ||||||||
19 | shuffle | _.shuffle(list) | コレクションの要素の順番をランダムに変更した配列を返す。 | 実質Arrayでしか機能しない。多分。 | val shuffle : array -> array = <fun> | ||||||||
20 | toArray | _.toArray(list) | コレクションを配列にして返す。 | val toArray : collection -> array = <fun> | |||||||||
21 | size | _.size(list) | コレクションの要素数を返す。 | オブジェクトでも可。 | val size : collection -> number = <fun> | ||||||||
22 | Array | first | _.first(array, [n]) | 配列の最初の要素を返す。 | head | map等の第二引数にindexが渡る関数で誤動作が起きないように対策されている。 | val first : array -> ?:number -> 'a = <fun> | ||||||
23 | initial | _.initial(array, [n]) | 配列の最後の要素以外の要素を返す。 | map等の第二引数にindexが渡る関数で誤動作が起きないように対策されている。 | val initial : array -> ?:number -> array = <fun> | ||||||||
24 | last | _.last(array, [n]) | 配列の最後の要素を返す。 | map等の第二引数にindexが渡る関数で誤動作が起きないように対策されている。 | val last : array -> ?:number -> 'a = <fun> | ||||||||
25 | rest | _.rest(array, [index]) | 配列の最初の要素以外の要素を返す。 | tail | map等の第二引数にindexが渡る関数で誤動作が起きないように対策されている。 | val rest : array -> ?:number -> array = <fun> | |||||||
26 | compact | _.compact(array) | 配列から偽の値になるものを除外した配列を返す。 | val compact : array -> array = <fun> | |||||||||
27 | flatten | _.flatten(array) | ネストされた配列をフラットにした配列にして返す。 | 内部で再帰を使っているため、ネストの深さによってパフォーマンスに影響が出る可能性がある、深さの制限もある。 | val flatten : array -> array = <fun> | ||||||||
28 | without | _.without(array, [*values]) | differenceの可変長引数版 | val without : array -> ?:*:'a = <fun> | |||||||||
29 | union | _.union(*arrays) | ユニーク要素のみを結合するflatten | val union : *:array -> array = <fun> | |||||||||
30 | intersection | _.intersection(*arrays) | 渡した配列の内、共通の要素のみ含まれた配列にして返す。 | intersect | val intersection : *:array -> array = <fun> | ||||||||
31 | difference | _.difference(array, *others) | 第一引数に渡した配列の内、第二引数に渡した配列の要素が含まれない要素を、配列にして返す | val difference : array -> array -> array = <fun> | |||||||||
32 | uniq | _.uniq(array, [isSorted], [iterator]) | 配列をユニークな値のみ含まれた配列にして返す。 | unique | ソート済配列を渡して、第二引数にtrueを渡すと、より速いアルゴリズムが選択される。 具体的には配列の走査が一度で済む。 | val uniq : array -> ?:bool -> ?:(a' -> b') -> array = <fun> | |||||||
33 | zip | _.zip(*arrays) | それぞれの配列の同じインデックスの要素をそれぞれまとめた配列を返す。 | val zip : *:array -> array = <fun> | |||||||||
34 | indexOf | _.indexOf(array, value, [isSorted]) | 配列に指定の要素が含まれていれば、そのインデックス、含まれていなければ-1を返す。見つかった最初の要素が対象になる。IEでも使える。 | Array.prototype.indexOf | ソート済配列を渡して、第三引数にtrueを渡すと、より速いアルゴリズムが選択される。 具体的には要素の検索に二分探索が使われる。 | val indexOf : array -> 'a -> ?:bool -> number = <fun> | |||||||
35 | lastIndexOf | _.lastIndexOf(array, value) | 配列に指定の要素が含まれていれば、そのインデックス、含まれていなければ-1を返す。見つかった最後の要素が対象になる。 | Array.prototype.lastIndexOf | val lastIndexOf : array -> 'a -> number = <fun> | ||||||||
36 | range | _.range([start], stop, [step]) | 数値が挿入された配列を作る。 | pythonのrange | val range : ?:number -> number -> ?:number -> array = <fun> | ||||||||
37 | Function | bind | _.bind(function, object, [*arguments]) | 関数を、指定したオブジェクトに束縛して関数を返す。 | Function.prototype.bind | ||||||||
38 | bindAll | _.bindAll(object, [*methodNames]) | オブジェクトの持つメソッドを、指定したオブジェクトに束縛してオブジェクトを返す。 | ||||||||||
39 | memoize | _.memoize(function, [hashFunction]) | 指定した関数を自動メモ化された関数にして返す。 | ||||||||||
40 | delay | _.delay(function, wait, [*arguments]) | setTimeoutに渡す関数に引数を渡せるsetTimeout | ||||||||||
41 | defer | _.defer(function) | コールスタックが空になったら渡した関数を実行する。 | setTimeout(func, 0)と同じ効果。たぶん。 | |||||||||
42 | throttle | _.throttle(function, wait) | 指定した時間内に1度しか実行されないことが保証された関数を返す。 | ||||||||||
43 | debounce | _.debounce(function, wait) | 指定時間経過後に実行する関数を返す。 | ||||||||||
44 | once | _.once(function) | 1度しか実行できない関数を返す。返された関数の2度目の実行結果は常に1度目の実行結果が返される。 | ||||||||||
45 | after | _.after(count, function) | 指定した回数以上実行した場合、渡された関数を実行する関数を返す。 | ||||||||||
46 | wrap | _.wrap(function, wrapper) | 指定した関数を指定したラッパー関数でラップした関数を返す。 | ||||||||||
47 | compose | _.compose(*functions) | 指定した関数を所謂関数合成した関数として返す。 | f(), g(), h()がf(g(h()))になる関数 | |||||||||
48 | Object | keys | _.keys(object) | オブジェクトのキーを配列で取り出す | Object.prototype.keys | ||||||||
49 | values | _.values(object) | オブジェクトの値を配列で取り出す | ||||||||||
50 | functions | _.functions(object) | オブジェクトのメソッド名を配列で取り出す | methods | |||||||||
51 | extend | _.extend(destination, *sources) | オブジェクトを結合する | ||||||||||
52 | defaults | _.defaults(object, *defaults) | オブジェクトにデフォルト値を結合する。デフォルト値を提供するキーが既に存在している場合は、無視する。 | ||||||||||
53 | clone | _.clone(object) | オブジェクトのコピーを返す。 | ||||||||||
54 | tap | _.tap(object, interceptor) | 指定したオブジェクトを引数とする関数を実行する | chain時に使う | |||||||||
55 | isEqual | _.isEqual(object, other) | 内部関数eqを使って、あらゆる型で引数の両者が一致しているかを判定する | ||||||||||
56 | isEmpty | _.isEmpty(object) | 空かどうかを判定する | ||||||||||
57 | isElement | _.isElement(object) | DOM要素かどうかを判定する | ||||||||||
58 | isArray | _.isArray(object) | 配列かどうかを判定する | Array.prototype.isArray | |||||||||
59 | isArguments | _.isArguments(object) | オブジェクトかどうかを判定する | ||||||||||
60 | isFunction | _.isFunction(object) | 関数かどうかを判定する | ||||||||||
61 | isString | _.isString(object) | 文字列かどうかを判定する | ||||||||||
62 | isNumber | _.isNumber(object) | 数値かどうかを判定する | ||||||||||
63 | isBoolean | _.isBoolean(object) | bool値かどうかを判定する | ||||||||||
64 | isDate | _.isDate(object) | 日付オブジェクトのインスタンスかどうかを判定する | ||||||||||
65 | isRegExp | _.isRegExp(object) | 正規表現オブジェクトのインスタンスかどうかを判定する | ||||||||||
66 | isNaN | _.isNaN(object) | NaNかどうかを判定する | ||||||||||
67 | isNull | _.isNull(object) | nullかどうかを判定する | ||||||||||
68 | isUndefined | _.isUndefined(variable) | undefinedかどうかを判定する | ||||||||||
69 | Utility | noConflict | _.noConflict() | Underscoreオブジェクトに属するメソッドを _(アンダースコア)から退避し、それ自身を返す | |||||||||
70 | identity | _.identity(value) | 引数の値をそのまま返す | ||||||||||
71 | times | _.times(n, iterator) | 指定した数だけ指定した関数を実行する | 高階関数に渡す関数のデフォルト値として使われている | |||||||||
72 | mixin | _.mixin(object) | Underscoreオブジェクトに指定したオブジェクトを結合する | 内部で_.mixin(_)しているため、OOPスタイルのプログラミングも可能となっている | |||||||||
73 | uniqueId | _.uniqueId([prefix]) | 引数に実行環境化においてユニークな数値を加えて返す | ||||||||||
74 | escape | _.escape(string) | 不等号、クォート、アンパサンド、ダブルクォート、スラッシュをエスケープする | ||||||||||
75 | template | _.template(templateString, [context]) | 第一引数のみの場合はテンプレートを指定引数でコンパイルする関数を返す。第二引数も指定した場合は、第二引数を用いてテンプレートをコンパイルした文字列を返す。 | ||||||||||
76 | Chaining | chain | _(obj).chain() | オブジェクトをラップしたUnderscoreオブジェクトをチェイン化する | 内部関数resultにて、chainフラグのあるなしで、chain化したオブジェクトを返すか、そうでないオブジェクトを返すかが決まっている。 chain化したオブジェクトの場合、コンストラクタで指定したコレクションを第一引数に代入して関数を実行するようになっている。 | ||||||||
77 | value | _(obj).value() | チェイン化されたオブジェクトを値に戻す | チェインで書き変わっていったコンストラクタ時のコレクションを返す | |||||||||
78 |