Create an iterator which returns numbers incremented by
1
.
var iterUnitspace = require( '@stdlib/iter/unitspace' );
Returns an iterator which returns numbers incremented by 1
.
var it = iterUnitspace( -5 );
// returns <Object>
var v = it.next().value;
// returns -5
v = it.next().value;
// returns -4
v = it.next().value;
// returns -3
// ...
The returned iterator protocol-compliant object has the following properties:
- next: function which returns an iterator protocol-compliant object containing the next iterated value (if one exists) assigned to a
value
property and adone
property having aboolean
value indicating whether the iterator is finished. - return: function which closes an iterator and returns a single (optional) argument in an iterator protocol-compliant object.
By default, the stopping value is +infinity
, and, hence, the returned iterator is an infinite iterator (i.e., the iterator never ends). To specify an alternative stopping value, provide a second argument.
var it = iterUnitspace( 0, 2 );
// returns <Object>
var v = it.next().value;
// returns 0
v = it.next().value;
// returns 1
v = it.next().value;
// returns 2
var bool = it.next().done;
// returns true
- The returned iterator is guaranteed to return the
start
value and stops upon exceeding thestop
value. - If an environment supports
Symbol.iterator
, the returned iterator is iterable.
var iterUnitspace = require( '@stdlib/iter/unitspace' );
// Create an iterator:
var it = iterUnitspace( -50, 50 );
// Perform manual iteration...
var v;
while ( true ) {
v = it.next();
if ( v.done ) {
break;
}
console.log( v.value );
}
@stdlib/array/from-iterator
: create (or fill) an array from an iterator.@stdlib/iter/incrspace
: create an iterator which returns evenly spaced numbers according to a specified increment.@stdlib/iter/linspace
: create an iterator which returns evenly spaced numbers over a specified interval.@stdlib/iter/step
: create an iterator which returns a sequence of numbers according to a specified increment.