nditer2arrayEach
Create an iterator which converts each iterated
ndarray
to a generic array.
Usage
var nditer2arrayEach = require( '@stdlib/ndarray/iter/to-array-each' );
nditer2arrayEach( iterator )
Returns an iterator which converts each iterated ndarray
to a generic array (which may include nested arrays).
var array = require( '@stdlib/ndarray/array' );
var nditerRows = require( '@stdlib/ndarray/iter/rows' );
var x = array( [ [ [ 1, 2 ], [ 3, 4 ] ], [ [ 5, 6 ], [ 7, 8 ] ] ] );
// returns <ndarray>
var iter = nditer2arrayEach( nditerRows( x ) );
var v = iter.next().value;
// returns [ 1, 2 ]
v = iter.next().value;
// returns [ 3, 4 ]
v = iter.next().value;
// returns [ 5, 6 ]
// ...
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.
Notes
Examples
var array = require( '@stdlib/ndarray/array' );
var zeroTo = require( '@stdlib/array/base/zero-to' );
var nditerRows = require( '@stdlib/ndarray/iter/rows' );
var nditer2arrayEach = require( '@stdlib/ndarray/iter/to-array-each' );
// Define an input array:
var x = array( zeroTo( 27 ), {
'shape': [ 3, 3, 3 ]
});
// Create an iterator for iterating over rows and converting to generic arrays:
var it = nditer2arrayEach( nditerRows( x ) );
// Perform manual iteration...
var v;
while ( true ) {
v = it.next();
if ( v.done ) {
break;
}
console.log( v.value );
}