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 );
Did you find this page helpful?