Description

An object and array collector

Classes


new CollectorBase()


new OCollector()


new ACollector()

Methods


<inner> add( key, item )

Description

Adds an item to the collection

Parameters
Name Type Description
key *

The key to use for the item being added.

item *

The item to add to the collection. The item is not iterated so that you could add bundled items to the collection


<inner> each( [ query ], iterator [, thisobj ] )

Description

Iterate over each item in the collection, or a subset that matches a query. This supports two signatures:
.each(query, function) and .each(function). If you pass in a query, only the items that match the query
are iterated over.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate

iterator function

Function to execute against each item in the collection

thisobj object <optional>

The value of this


<inner> toArray() → {array}

Description

Returns the collection as an array. If it is already an array, it just returns that.

Returns

<inner> toJSON() → {object}

Description

Supports conversion to a JSON string or for passing over the wire

Returns

<inner> map( [ query ], iterator [, thisobj ] )

Description

Maps the contents to an array by iterating over it and transforming it. You supply the iterator. Supports two signatures:
.map(query, function) and .map(function). If you pass in a query, only the items that match the query
are iterated over.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate

iterator function

Function to execute against each item in the collection

thisobj object <optional>

The value of this


<inner> reduce( [ query ], iterator [, accumulator [, thisobj ] ] ) → {*}

Description

Reduces a collection to a value which is the accumulated result of running each element in the collection through the
callback, where each successive callback execution consumes the return value of the previous execution. If accumulator
is not passed, the first element of the collection will be used as the initial accumulator value.
are iterated over.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate

iterator function

The function that will be executed in each item in the collection

accumulator * <optional>

Initial value of the accumulator.

thisobj object <optional>

The value of this

Returns

<inner> countBy( [ query ], iterator [, thisobj ] ) → {object}

Description

Creates an object composed of keys returned from running each element
of the collection through the given callback. The corresponding value of each key
is the number of times the key was returned by the callback.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate. If you pass in a query, only the items that match the query
are iterated over.

iterator function
thisobj object <optional>

The value of this

Returns

<inner> groupBy( [ query ], iterator [, thisobj ] ) → {object}

Description

Creates an object composed of keys returned from running each element of the collection through the callback.
The corresponding value of each key is an array of elements passed to callback that returned the key.
The callback is invoked with three arguments: (value, index|key, collection).

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate . If you pass in a query, only the items that match the query
are iterated over.

iterator function
thisobj object <optional>

The value of this

Returns

<inner> pluck( [ query ], property ) → {*}

Description

Reduce the collection to a single value. Supports two signatures:
.pluck(query, function) and .pluck(function)

Parameters
Name Type Attributes Description
query object <optional>

The query to evaluate. If you pass in a query, only the items that match the query
are iterated over.

property string

The property that will be 'plucked' from the contents of the collection

Returns

<inner> sortBy( [ query ], iterator [, thisobj ] ) → {array}

Description

Returns a sorted copy of the collection.

Parameters
Name Type Attributes Description
query object <optional>

The query to evaluate. If you pass in a query, only the items that match the query
are iterated over.

iterator function
thisobj object <optional>

The value of this

Returns

<inner> max( [ query ], iterator [, thisobj ] ) → {number}

Description

Retrieves the maximum value of an array. If callback is passed,
it will be executed for each value in the array to generate the criterion by which the value is ranked.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate . If you pass in a query, only the items that match the query
are iterated over.

iterator function
thisobj object <optional>

The value of this

Returns

<inner> min( [ query ], iterator [, thisobj ] ) → {number}

Description

Retrieves the minimum value of an array. If callback is passed,
it will be executed for each value in the array to generate the criterion by which the value is ranked.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate . If you pass in a query, only the items that match the query
are iterated over.

iterator function
thisobj object <optional>

The value of this

Returns

<inner> destroy()

Description

Destructor called when the object is destroyed.


<inner> key( key ) → {*}

Description

Get a record by key

Parameters
Name Type Description
key *

The key of the record to get

Returns

<inner> add( item )

Description

Adds to the top of the collection

Parameters
Name Type Description
item *

The item to add to the collection. Only one item at a time can be added


<inner> append( item )

Description

Add to the bottom of the list

Parameters
Name Type Description
item *

The item to add to the collection. Only one item at a time can be added


<inner> push( item )

Description

Add an item to the top of the list. This is identical to add, but is provided for stack semantics

Parameters
Name Type Description
item *

The item to add to the collection. Only one item at a time can be added


<inner> compact()

Description

Modifies the collection with all falsey values of array removed. The values false, null, 0, "", undefined and NaN are all falsey.


<inner> at( args )

Description

Creates an array of elements from the specified indexes, or keys, of the collection. Indexes may be specified as
individual arguments or as arrays of indexes

Parameters
Name Type Description
args indexes

The indexes to use


<inner> flatten( [ query ], iterator, [, thisobj ] ) → {number}

Description

Flattens a nested array (the nesting can be to any depth). If isShallow is truthy, array will only be flattened a single level.
If callback is passed, each element of array is passed through a callback before flattening.

Parameters
Name Type Attributes Description
query object <optional>

A query to evaluate . If you pass in a query, only the items that match the query
are iterated over.

iterator, function
thisobj object <optional>

The value of this

Returns

<inner> index( key ) → {*}

Description

Gets an items by its index

Parameters
Name Type Description
key number

The index to get

Returns

<static> collect( obj ) → {ACollector|OCollector}

Description

Collect an object

Parameters
Name Type Description
obj array | object

What to collect

Returns