Skip to content

Files

Latest commit

1759331 · Aug 24, 2017

History

History

do-while

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
May 26, 2017
May 26, 2017
May 26, 2017
May 26, 2017
May 26, 2017
Aug 24, 2017
May 26, 2017

doWhile

Invoke a function while a test condition is true.

Usage

var doWhile = require( '@stdlib/utils/do-while' );

doWhile( fcn, predicate[, thisArg ] )

Invokes a function until a predicate function returns false. Note that the predicate function is evaluated after executing fcn; thus, fcn always executes at least once.

function predicate( i ) {
    return ( i < 5 );
}

function beep( i ) {
    console.log( 'boop: %d', i );
}

doWhile( beep, predicate );
/* =>
    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
};

doWhile( count, predicate, context );

console.log( context.count );
// => 5

Examples

var randu = require( '@stdlib/math/base/random/randu' );
var doWhile = require( '@stdlib/utils/do-while' );

function predicate() {
    return ( randu() > 0.05 );
}

function log( i ) {
    console.log( i );
}

doWhile( log, predicate );