toAccessorArray
Convert an array-like object to a minimal array-like object supporting the accessor protocol.
Usage
var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
toAccessorArray( arr )
Converts an array-like object to a minimal array-like object supporting the accessor protocol.
var arr1 = [ 1, 2, 3 ];
var arr2 = toAccessorArray( arr1 );
// returns <AccessorArray>
var v = arr2.get( 1 );
// returns 2
var bool = ( arr2 === arr1 );
// returns false
If the provided array-like object already supports the accessor protocol, the function returns the input array unchanged.
var Complex128Array = require( '@stdlib/array/complex128' );
var arr1 = new Complex128Array( 10 );
// returns <Complex128Array>
var arr2 = toAccessorArray( arr1 );
// returns <Complex128Array>
var bool = ( arr2 === arr1 );
// returns true
Examples
var Complex128Array = require( '@stdlib/array/complex128' );
var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
// Define a function for printing the contents of an array and which assumes accessor protocol support:
function printArray( name, x ) {
var i;
for ( i = 0; i < x.length; i++ ) {
console.log( '%s[%d] = %s', name, i, x.get( i ).toString() );
}
}
// Create an array of complex numbers:
var buf = [ 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0 ];
var cmplx = new Complex128Array( buf );
// Create an array of the real components:
var real = [ 0, 0, 1, 2, 0, 0, 0, 0, 3, 0 ];
// Ensure the arrays support the accessor protocol to allow for uniform iteration:
cmplx = toAccessorArray( cmplx );
real = toAccessorArray( real );
// Print the contents of each array:
printArray( 'complx', cmplx );
printArray( 'real', real );