Slice

Slice constructor.

Usage

var Slice = require( '@stdlib/slice/ctor' );

Slice( [stop] )

Returns a Slice instance.

var s = new Slice();
// returns <Slice>

s = new Slice();
// returns <Slice>

The constructor accepts the following arguments:

  • stop: ending index (exclusive). Default: null.

Slice( start, stop[, step] )

Returns a Slice instance.

var s = new Slice( 0, 10 );
// returns <Slice>

s = new Slice( 0, 10, 1 );
// returns <Slice>

The constructor accepts the following arguments:

  • start: starting index (inclusive).
  • stop: ending index (exclusive).
  • step: index increment. A numeric index increment argument must be a non-zero integer value. Default: null.

Properties

Slice.name

String value of the Slice constructor name.

var str = Slice.name;
// returns 'Slice'

Slice.prototype.start

Read-only property returning the slice starting index.

var s = new Slice( 10 );
// returns <Slice>

var start = s.start;
// returns null

s = new Slice( 2, 10 );
// returns <Slice>

start = s.start;
// returns 2

Slice.prototype.stop

Read-only property returning the slice ending index.

var s = new Slice( null );
// returns <Slice>

var stop = s.stop;
// returns null

s = new Slice( 10 );
// returns <Slice>

stop = s.stop;
// returns 10

s = new Slice( 2, 10 );
// returns <Slice>

stop = s.stop;
// returns 10

Slice.prototype.step

Read-only property returning the slice index increment.

var s = new Slice( 10 );
// returns <Slice>

var step = s.step;
// returns null

s = new Slice( 2, 10 );
// returns <Slice>

step = s.step;
// returns null

s = new Slice( 2, 10, 1 );
// returns <Slice>

step = s.step;
// returns 1

Methods

Slice.prototype.toString()

Serializes a Slice as a string.

var s = new Slice( 10 );
// returns <Slice>

var str = s.toString();
// returns 'Slice(null,10,null)'

s = new Slice( 2, 10, 1 );
// returns <Slice>

str = s.toString();
// returns 'Slice(2,10,1)'

Slice.prototype.toJSON()

Serializes a Slice as a JSON object.

var s = new Slice( 10 );
// returns <Slice>

var o = s.toJSON();
// returns { 'type': 'Slice', 'data': [ null, 10, null ] }

s = new Slice( 2, 10, 1 );
// returns <Slice>

o = s.toJSON();
// returns { 'type': 'Slice', 'data': [ 2, 10, 1 ] }

JSON.stringify() implicitly calls this method when stringifying a Slice instance.


Notes

  • Slice arguments may be either integers, null, or undefined, where a non-integer value indicates a slice parameter which should be determined based on the slice context (e.g., when used to index into an ndarray).
  • Slice instances have no explicit functionality; however, they are used by ndarray and other packages for creating views into multi-dimensional data structures.

Examples

var Slice = require( '@stdlib/slice/ctor' );

var s = new Slice( 9, -10, -1 );
// returns <Slice>

var start = s.start;
console.log( 'Start: %d', start );
// => 'Start: 9'

var stop = s.stop;
console.log( 'Stop: %d', stop );
// => 'Stop: -10'

var step = s.step;
console.log( 'Step: %d', step );
// => 'Step: -1'

var str = s.toString();
console.log( str );
// => 'Slice(9,-10,-1)'

var o = s.toJSON();
console.log( JSON.stringify( o ) );
// => '{"type":"Slice","data":[9,-10,-1]}'
Did you find this page helpful?