slice

Return a shallow copy of a portion of an array.

Usage

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

slice( x[, start[, end]] )

Returns a shallow copy of a portion of an array.

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

var out = slice( x );
// returns [ 1, 2, 3, 4, 5, 6 ]

var bool = ( out === x );
// returns false

The function accepts the following arguments:

  • x: input array.
  • start: starting index (inclusive). Default: 0.
  • end: ending index (exclusive). Default: x.length.

By default, the function returns a shallow copy beginning from the first element of the provided input array. To begin copying from an alternative element, provide a starting index (inclusive).

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

var out = slice( x, 2 );
// returns [ 3, 4, 5, 6 ]

By default, the function copies through the end of the provided input array. To copy up until a specific element, provide an ending index (exclusive).

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

var out = slice( x, 1, 4 );
// returns [ 2, 3, 4 ]

Notes

  • If provided an array-like object having a slice method, the function defers execution to that method and assumes that the method API has the following signature:

    x.slice( start, end )
    
  • If provided an array-like object without a slice method, the function copies input array elements to a new generic array.

Examples

var Float64Array = require( '@stdlib/array/float64' );
var zeroTo = require( '@stdlib/array/zero-to' );
var slice = require( '@stdlib/array/slice' );

var x = zeroTo( 6, 'float64' );
// returns <Float64Array>[ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 ]

var s = slice( x );
// returns <Float64Array>[ 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 ]

s = slice( x, 0, 4 );
// returns <Float64Array>[ 0.0, 1.0, 2.0, 3.0 ]

s = slice( x, 2 );
// returns <Float64Array>[ 2.0, 3.0, 4.0, 5.0 ]

s = slice( x, 2, 4 );
// returns <Float64Array>[ 2.0, 3.0 ]
Did you find this page helpful?