takeIndexed

Take elements from an indexed array.

Usage

var takeIndexed = require( '@stdlib/array/base/take-indexed' );

takeIndexed( x, indices )

Takes elements from an indexed array.

var x = [ 1, 2, 3, 4 ];

var y = takeIndexed( x, [ 1, 3 ] );
// returns [ 2, 4 ]

If indices is an empty array, the function returns an empty array.

var x = [ 1, 2, 3, 4 ];

var y = takeIndexed( x, [] );
// returns []

Notes

  • The function does not perform bounds checking. If an index is less than zero or greater than the maximum index of x, the value of the corresponding element in the output array is undefined.
  • An indexed array-like object is a data structure in which one retrieves elements via integer indices using bracket [] notation (e.g., Float64Array, Int32Array, Array, etc). This is in contrast to an accessor array-like object in which one retrieves elements using get and set methods (e.g., Complex64Array and Complex128Array).

Examples

var filledBy = require( '@stdlib/array/base/filled-by' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var linspace = require( '@stdlib/array/base/linspace' );
var takeIndexed = require( '@stdlib/array/base/take-indexed' );

// Generate a linearly spaced array:
var x = linspace( 0, 100, 11 );

// Generate an array of random indices:
var N = discreteUniform( 5, 15 );
var indices = filledBy( N, discreteUniform.factory( 0, x.length-1 ) );

// Take a random sample of elements from `x`:
var y = takeIndexed( x, indices );

console.log( x );
console.log( indices );
console.log( y );
Did you find this page helpful?