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 usinggetandsetmethods (e.g.,Complex64ArrayandComplex128Array).
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 );