Invoke a function while a test condition is true.
Usage
var whilst = require( '@stdlib/utils/while' );
whilst( predicate, fcn[, thisArg ] )
Invokes a function until a predicate function returns false.
function predicate( i ) { return ( i < 5 ); } function beep( i ) { console.log( 'boop: %d', i ); } whilst( predicate, beep ); /* => boop: 0 boop: 1 boop: 2 boop: 3 boop: 4 */
Both the predicate function and the function to invoke are provided a single argument:
- i: iteration number (starting from zero).
To set the function execution context for the invoked function, provide a thisArg.
function predicate( i ) { return ( i < 5 ); } function count() { this.count += 1; } var context = { 'count': 0 }; whilst( predicate, count, context ); console.log( context.count ); // => 5
Examples
var randu = require( '@stdlib/random/base/randu' ); var whilst = require( '@stdlib/utils/while' ); function predicate() { return ( randu() > 0.05 ); } function log( i ) { console.log( i ); } whilst( predicate, log );
See Also
@stdlib/utils/do-until: invoke a function until a test condition is true.@stdlib/utils/do-while: invoke a function while a test condition is true.@stdlib/utils/until: invoke a function until a test condition is true.@stdlib/utils/async/while: invoke a function while a test condition is true.@stdlib/utils/while-each: while a test condition is true, invoke a function for each element in a collection.