take

Take elements from an array.

Usage

var take = require( '@stdlib/array/take' );

take( x, indices[, options] )

Takes elements from an array.

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

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

The function supports the following parameters:

  • x: input array.
  • indices: list of indices.
  • options: function options.

The function supports the following options:

  • mode: index mode. Default: 'normalize'.

By default, the function normalizes negative integer indices to positive integer index equivalents.

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

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

To specify an alternative index mode, provide a mode option.

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

var y = take( x, [ -10, 10 ], {
    'mode': 'clamp'
});
// returns [ 1, 4 ]

Notes

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

    var x = [ 1, 2, 3, 4 ];
    
    var y = take( x, [] );
    // returns []
    
  • If provided an input array having a recognized data type, the function returns an array having the same data type as the input array. Otherwise, the function always returns a "generic" array.

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var linspace = require( '@stdlib/array/linspace' );
var take = require( '@stdlib/array/take' );

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

// Generate an array of random indices:
var indices = discreteUniform( 10, 0, x.length-1 );
console.log( indices );

// Take a random sample of elements from `x`:
var y = take( x, indices );
console.log( y );
Did you find this page helpful?