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 usingget
andset
methods (e.g.,Complex64Array
andComplex128Array
).
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 );