@stdlib/utils
Version:
Standard utilities.
54 lines (40 loc) • 1.48 kB
Plain Text
{{alias}}( collection, fcn, predicate[, thisArg] )
While a test condition is true, invokes a function for each element in a
collection, iterating from right to left.
The condition is evaluated *after* executing the provided function; thus,
`fcn` *always* executes at least once.
When invoked, both the predicate function and the function to apply are
provided three arguments:
- value: collection value.
- index: collection index.
- collection: the input collection.
If provided an empty collection, both `value` and `index` are `undefined`.
Parameters
----------
collection: Array|TypedArray|Object
Input collection over which to iterate. If provided an object, the
object must be array-like (excluding strings and functions).
fcn: Function
The function to invoke for each element in a collection.
predicate: Function
The predicate function which indicates whether to continue iterating
over a collection.
thisArg: any (optional)
Execution context for the applied function.
Returns
-------
out: Array|TypedArray|Object
Input collection.
Examples
--------
> function predicate( v ) { return v === v; };
> function logger( v, i ) { console.log( '%s: %d', i, v ); };
> var arr = [ 1, NaN, 2, 3, 4, 5 ];
> {{alias}}( arr, logger, predicate )
5: 5
4: 4
3: 3
2: 2
1: NaN
See Also
--------