filled4dBy
Create a filled four-dimensional nested array according to a provided callback function.
Usage
var filled4dBy = require( '@stdlib/array/base/filled4d-by' );
filled4dBy( shape, clbk[, thisArg] )
Returns a filled four-dimensional nested array according to a provided callback function.
function clbk() {
return 1.0;
}
var out = filled4dBy( [ 1, 2, 1, 3 ], clbk );
// returns [ [ [ [ 1.0, 1.0, 1.0 ] ], [ [ 1.0, 1.0, 1.0 ] ] ] ]
When invoked, a callback function is provided a single argument:
- indices: current array element indices.
To set the callback execution context, provide a thisArg
.
function clbk() {
this.count += 1;
return 1.0;
}
var ctx = {
'count': 0
};
var out = filled4dBy( [ 1, 1, 2, 3 ], clbk, ctx );
// returns [ [ [ [ 1.0, 1.0, 1.0 ], [ 1.0, 1.0, 1.0 ] ] ] ];
var cnt = ctx.count;
// returns 6
Examples
var constantFunction = require( '@stdlib/utils/constant-function' );
var filled4dBy = require( '@stdlib/array/base/filled4d-by' );
var out = filled4dBy( [ 1, 1, 1, 3 ], constantFunction( 0.0 ) );
// returns [ [ [ [ 0.0, 0.0, 0.0 ] ] ] ]
out = filled4dBy( [ 1, 1, 3, 1 ], constantFunction( 'beep' ) );
// returns [ [ [ [ 'beep' ], [ 'beep' ], [ 'beep' ] ] ] ]
out = filled4dBy( [ 1, 1, 1, 3 ], constantFunction( null ) );
// returns [ [ [ [ null, null, null ] ] ] ]
out = filled4dBy( [ 1, 1, 3, 1 ], constantFunction( true ) );
// returns [ [ [ [ true ], [ true ], [ true ] ] ] ]
out = filled4dBy( [ 1, 1, 1, 3 ], constantFunction( void 0 ) );
// returns [ [ [ [ undefined, undefined, undefined ] ] ] ]