at4d
Return an element from a four-dimensional nested array.
Usage
var at4d = require( '@stdlib/array/base/at4d' );
at4d( x, i0, i1, i2, i3 )
Returns an element from a four-dimensional nested array.
var x = [ [ [ [ 1, 2 ], [ 3, 4 ] ] ] ];
var out = at4d( x, 0, 0, 0, 1 );
// returns 2
out = at4d( x, 0, 0, 1, 0 );
// returns 3
The function accepts the following arguments:
- x: four-dimensional nested input array.
- i0: first dimension index.
- i1: second dimension index.
- i2: third dimension index.
- i3: fourth dimension index.
Notes
- Negative indices are resolved relative to the last element along the respective dimension, with the last element corresponding to
-1
. - If provided out-of-bounds indices, the function always returns
undefined
.
Examples
var papply = require( '@stdlib/utils/papply' );
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
var filled4dBy = require( '@stdlib/array/base/filled4d-by' );
var quaternary4d = require( '@stdlib/array/base/quaternary4d' );
var zeros4d = require( '@stdlib/array/base/zeros4d' );
var at4d = require( '@stdlib/array/base/at4d' );
var shape = [ 2, 2, 4, 4 ];
// Define a nested input array:
var x = filled4dBy( shape, discreteUniform( -100, 100 ) );
console.log( x );
// Define arrays containing random index values:
var i0 = filled4dBy( shape, discreteUniform( -shape[0], shape[0]-1 ) );
console.log( i0 );
var i1 = filled4dBy( shape, discreteUniform( -shape[1], shape[1]-1 ) );
console.log( i1 );
var i2 = filled4dBy( shape, discreteUniform( -shape[2], shape[2]-1 ) );
console.log( i2 );
var i3 = filled4dBy( shape, discreteUniform( -shape[3], shape[3]-1 ) );
console.log( i3 );
// Define an output array:
var out = zeros4d( shape );
console.log( out );
// Fill the output array with randomly selected values from the input array:
quaternary4d( [ i0, i1, i2, i3, out ], shape, papply( at4d, x ) );
console.log( out );