Prototype-enumerating

提供:Dev Guides
移動先:案内検索

プロトタイプ-列挙

列挙可能なクラスは、列挙に役立つ多数の便利なメソッドを提供します。 列挙は、値のコレクションとして機能するオブジェクトです。

列挙メソッドは、主に_arrays_と_hashes_を列挙するために使用されます。 _ObjectRange_や、列挙メソッドを使用できるさまざまなDOMまたはAJAX関連オブジェクトのような他のオブジェクトもあります。

コンテキストパラメータ

イテレータを取得するEnumerableのすべてのメソッドは、次の(オプションの)パラメータとしてコンテキストオブジェクトも取得します。 コンテキストオブジェクトはイテレータがバインドされるものであるため、その内部の this キーワードはオブジェクトを指します。

var myObject = {};

['foo', 'bar', 'baz'].each(function(name, index) {
   this[name] = index;
}, myObject);//we have specified the context

myObject;

これは、次の結果を生成します-

出力

{ foo: 0, bar: 1, baz: 2}

効率的に使用する

  • すべての要素で同じメソッドを呼び出す必要がある場合は、_invoke()_メソッドを使用します。
  • すべての要素で同じプロパティを取得する必要がある場合は、_pluck()_メソッドを使用します。
  • _findAll/select_メソッドは、指定された述語に一致するすべての要素を取得します。 逆に、_reject()_メソッドは、述語と一致しないすべての要素を取得します。 両方のセットが必要な特定のケースでは、2回のループを避けることができます:_partition()_メソッドを使用するだけです。

以下は、Enumerableに関連するすべてのメソッドの完全なリストです。

プロトタイプ列挙可能メソッド

-少なくともprototype.jsのバージョン1.6を使用していることを確認してください。

S.No. Method & Description
1.

all()

すべての要素がブール値と真であるかどうかを、直接または指定された反復子による計算によって決定します。

2.

any()

少なくとも1つの要素がブール値と真であるかどうかを、直接または指定された反復子による計算によって決定します。

3.

collect()

反復子を各要素に適用した結果を返します。 map()としてエイリアスされます。

4.

detect()

反復子がtrueを返す最初の要素を見つけます。 find()メソッドによってエイリアスされます。

5.

each()

これにより、すべての要素を一般的な方法で繰り返し処理し、Enumerableを返すことで、チェーン呼び出しが可能になります。

6.

eachSlice()

指定されたサイズに基づいてアイテムをチャンクにグループ化します。最後のチャンクはより小さくなる可能性があります。

7.

entries()

より汎用的なtoArrayメソッドのエイリアス。

8.

find()

反復子がtrueを返す最初の要素を見つけます。 detect()の便利なエイリアス。

9.

findAll()

反復子がtrueを返したすべての要素を返します。 select()としてエイリアスされます。

10.

grep()

フィルターに一致するすべての要素を返します。 反復子が提供されている場合は、選択された各要素の戻り値を生成するために使用されます。

11.

inGroupsOf()

必要に応じて特定の値を使用して最後のチャンクを埋め、固定サイズのチャンクでアイテムをグループ化します。

12.

include()

==比較演算子に基づいて、指定されたオブジェクトがEnumerableにあるかどうかを決定します。 member()としてエイリアスされます。

13.

inject()

反復子の連続した結果に基づいて、結果値を増分的に構築します。

14.

invoke()

each()またはcollect()の一般的なユースケースの最適化:すべての要素に対して、同じ潜在的な引数を使用して同じメソッドを呼び出します。

15.

map()

反復子を各要素に適用した結果を返します。 collect()の便利なエイリアス。

16.

max()

最大要素(または要素ベースの計算)を返します。列挙が空の場合はundefinedを返します。 要素は直接比較されるか、最初にイテレータを適用して戻り値を比較することにより比較されます。

17.

member()

==比較演算子に基づいて、指定されたオブジェクトがEnumerableにあるかどうかを決定します。 include()の便利なエイリアス。

18.

min()

最小要素(または要素ベースの計算)を返します。列挙が空の場合はundefinedを返します。 要素は直接比較されるか、最初にイテレータを適用して戻り値を比較することにより比較されます。

19.

partition()

要素を2つのグループに分割します:trueと見なされるグループとfalseと見なされるグループ。

20.

pluck()

collect()の一般的なユースケースの最適化:すべての要素に対して同じプロパティを取得します。 プロパティ値を返します。

21.

reject()

イテレータがfalseを返したすべての要素を返します。

22.

select()

findAll()メソッドのエイリアス。

23.

size()

列挙のサイズを返します。

24.

sortBy()

イテレータによって要素ごとに計算された基準に基づいて、要素のカスタムソートされたビューを提供します。

25.

toArray()

列挙の配列表現を返します。 entries()としてエイリアスされます。

26.

zip()

一緒にジッパー(ズボンのジッパーを考えてください)2+タプルの配列を提供するシーケンス。 各タプルには、元のシーケンスごとに1つの値が含まれます。