@stdlib/array-base-fill-by
v0.1.1
Published
Fill all elements within a portion of an array according to a callback function.
Readme
fillBy
Fill all elements within a portion of an array according to a callback function.
Installation
npm install @stdlib/array-base-fill-byUsage
var fillBy = require( '@stdlib/array-base-fill-by' );fillBy( x, start, end, fcn[, thisArg] )
Fills all elements within a portion of an array from an inclusive start index to an exclusive end index according to a provided callback function.
function fcn() {
return 10;
}
var x = [ 1, 2, 3, 4, 5, 6 ];
var out = fillBy( x, 1, 4, fcn );
// returns [ 1, 10, 10, 10, 5, 6 ]
var bool = ( out === x );
// returns trueThe callback function is provided the following arguments:
- value: current array element.
- index: current array element index.
- arr: input array.
To set the callback execution context, provide a thisArg.
function fcn() {
this.count += 1;
return 10;
}
var x = [ 1, 2, 3, 4, 5, 6 ];
var ctx = {
'count': 0
};
var out = fillBy( x, 1, 4, fcn, ctx );
// returns [ 1, 10, 10, 10, 5, 6 ]
var bool = ( out === x );
// returns true
var cnt = ctx.count;
// returns 3Notes
- Negative
startandendindices are resolved to positive indices by counting from the end of the array with-1corresponding to the last indexed element. - The function mutates the input array.
Examples
var constantFunction = require( '@stdlib/utils-constant-function' );
var Float64Array = require( '@stdlib/array-float64' );
var zeroTo = require( '@stdlib/array-base-zero-to' );
var fillBy = require( '@stdlib/array-base-fill-by' );
var x = new Float64Array( zeroTo( 6 ) );
// returns <Float64Array>[ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 ]
var y = fillBy( x, 0, 6, constantFunction( 10.0 ) );
// returns <Float64Array>[ 10.0, 10.0, 10.0, 10.0, 10.0, 10.0 ]
y = fillBy( x, 0, 4, constantFunction( 0.0 ) );
// returns <Float64Array>[ 0.0, 0.0, 0.0, 0.0, 10.0, 10.0 ]
y = fillBy( x, 2, 6, constantFunction( 20.0 ) );
// returns <Float64Array>[ 0.0, 0.0, 20.0, 20.0, 20.0, 20.0 ]
y = fillBy( x, 2, 4, constantFunction( 30.0 ) );
// returns <Float64Array>[ 0.0, 0.0, 30.0, 30.0, 20.0, 20.0 ]Notice
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
Community
License
See LICENSE.
Copyright
Copyright © 2016-2026. The Stdlib Authors.
