shape
Return the shape of a provided ndarray.
Usage
var shape = require( '@stdlib/ndarray/base/shape' );
shape( x, copy )
Returns the shape of a provided ndarray.
var zeros = require( '@stdlib/ndarray/zeros' );
var x = zeros( [ 3, 2, 3 ] );
// returns <ndarray>
var sh = shape( x, false );
// returns [ 3, 2, 3 ]
When copy
is false
, changes to the returned shape array may mutate the input ndarray shape. If there is a chance that the returned shape will be mutated (either directly or by downstream consumers), set copy
to true
to prevent unintended side effects.
var zeros = require( '@stdlib/ndarray/zeros' );
var x = zeros( [ 3, 2, 3 ] );
// returns <ndarray>
var sh = shape( x, true );
// returns [ 3, 2, 3 ]
var bool = ( x.shape === sh );
// returns false
Examples
var zeros = require( '@stdlib/ndarray/zeros' );
var slice = require( '@stdlib/ndarray/slice' );
var E = require( '@stdlib/slice/multi' );
var S = require( '@stdlib/slice/ctor' );
var shape = require( '@stdlib/ndarray/base/shape' );
// Create an array:
var x = zeros( [ 10, 10, 10, 10 ] );
// returns <ndarray>
// Define some slices:
var slices = [
// :,:,:,:
E( null, null, null, null ),
// 5:10,4,2:4,::-1
E( S( 5, 10 ), 4, S( 2, 4 ), S( null, null, -1 ) ),
// :,:,2,:
E( null, null, 2, null ),
// 1,2,3,:
E( 1, 2, 3, null ),
// 1,3,::2,4::2
E( 1, 3, S( null, null, 2 ), S( 4, null, 2 ) )
];
// Determine the shape of each slice...
var s;
var i;
for ( i = 0; i < slices.length; i++ ) {
s = slice( x, slices[ i ] );
console.log( 'slice(%s) => %s', x.shape.join( 'x' ), shape( s, false ).join( 'x' ) );
}