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 with indices (i.e., must have either one element or the same number of elements as indices).
  • 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 );
Did you find this page helpful?