at
Return an
ndarray
element.
Usage
var at = require( '@stdlib/ndarray/at' );
at( x[, ...indices] )
Returns an ndarray
element.
var array = require( '@stdlib/ndarray/array' );
var x = array( [ [ 1, 2 ], [ 3, 4 ] ] );
// returns <ndarray>
var v = at( x, 0, 0 );
// returns 1
v = at( x, 0, 1 );
// returns 2
v = at( x, 1, 0 );
// returns 3
v = at( x, 1, 1 );
// returns 4
The function accepts the following arguments:
- x: input
ndarray
. - indices: index arguments. The number of index arguments must equal the number of dimensions.
Notes
If provided out-of-bounds indices, the function always returns
undefined
.var array = require( '@stdlib/ndarray/array' ); var x = array( [ [ 1, 2 ], [ 3, 4 ] ] ); // returns <ndarray> var v = at( x, 10, 20 ); // returns undefined
Negative indices are resolved relative to the last element along the respective dimension, with the last element corresponding to
-1
.var array = require( '@stdlib/ndarray/array' ); var x = array( [ [ 1, 2 ], [ 3, 4 ] ] ); // returns <ndarray> var v = at( x, -1, -1 ); // returns 4 v = at( x, -2, -2 ); // returns 1
Examples
var cartesianProduct = require( '@stdlib/array/cartesian-product' );
var zeroTo = require( '@stdlib/array/zero-to' );
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var array = require( '@stdlib/ndarray/array' );
var at = require( '@stdlib/ndarray/at' );
// Define a two-dimensional array:
var shape = [ 5, 5 ];
var x = array( discreteUniform( 25, -100, 100 ), {
'shape': shape
});
// Define lists of dimension indices:
var i0 = zeroTo( shape[ 0 ], 'generic' );
var i1 = zeroTo( shape[ 1 ], 'generic' );
// Create a list of index pairs:
var indices = cartesianProduct( i0, i1 );
// Print array contents...
var idx;
var i;
for ( i = 0; i < x.length; i++ ) {
idx = indices[ i ];
console.log( 'x[%d,%d] = %d', idx[ 0 ], idx[ 1 ], at( x, idx[ 0 ], idx[ 1 ] ) );
}