scatterFilled
Scatter a list of provided values to specified indices in a new filled "generic" array.
Usage
var scatterFilled = require( '@stdlib/array/base/scatter-filled' );
scatterFilled( fill, len, indices, values, mode )
Scatters a list of provided values to specified indices in a new filled "generic" array.
var out = scatterFilled( null, 4, [ 1, 3 ], [ 20, 40 ], 'throw' );
// returns [ null, 20, null, 40 ]
The function supports the following parameters:
- fill: fill value.
- len: output array length.
- indices: list of indices.
- values: values to scatter. When
indices
contains one or more elements,values
must be broadcast compatible withindices
(i.e., must have either one element or the same number of elements asindices
). - mode: index mode.
If indices
is an empty array, the function returns a filled array.
var out = scatterFilled( null, 4, [], [ 20, 40 ], 'throw' );
// returns [ null, null, null, null ]
The function supports broadcasting a values
array containing a single element against an indices
array containing one or more elements.
var out = scatterFilled( null, 4, [ 1, 3 ], [ 20 ], 'throw' );
// returns [ null, 20, null, 20 ]
Examples
var filledBy = require( '@stdlib/array/base/filled-by' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var scatterFilled = require( '@stdlib/array/base/scatter-filled' );
// Generate an array of random indices:
var N = discreteUniform( 5, 15 );
var indices = filledBy( N, discreteUniform.factory( 0, 10 ) );
console.log( indices );
// Generate an array of random values:
var values = filledBy( N, discreteUniform.factory( 1000, 2025 ) );
console.log( values );
// Scatter a random sample of elements to a new array:
var out = scatterFilled( null, 11, indices, values, 'throw' );
console.log( out );