function accessors( x, indices, mode, out, stride, offset ) {
	var getIndex;
	var xdata;
	var idata;
	var odata;
	var xget;
	var iget;
	var oset;
	var max;
	var io;
	var i;
	var j;

	xdata = x.data;
	idata = indices.data;
	odata = out.data;

	xget = x.accessors[ 0 ];
	iget = indices.accessors[ 0 ];
	oset = out.accessors[ 1 ];

	// Resolve a function for returning an index according to the specified index mode:
	getIndex = ind( mode );

	// Resolve the maximum index:
	max = xdata.length - 1;

	// Extract each desired element from the provided array...
	io = offset;
	for ( i = 0; i < idata.length; i++ ) {
		j = getIndex( iget( idata, i ), max );
		oset( odata, io, xget( xdata, j ) );
		io += stride;
	}
	return odata;
}
Takes elements from an accessor array and assigns the values to elements in an accessor output array.

@private
@param {Object} x - input array object
@param {Object} indices - index array object
@param {string} mode - index mode
@param {Object} out - output array object
@param {integer} stride - output array stride
@param {NonNegativeInteger} offset - output array offset
@returns {Collection} output array

@example
var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
var arraylike2object = require( '@stdlib/array/base/arraylike2object' );

var x = toAccessorArray( [ 1, 2, 3, 4 ] );
var indices = toAccessorArray( [ 3, 1, 2, 0 ] );

var out = toAccessorArray( [ 0, 0, 0, 0 ] );
var arr = accessors( arraylike2object( x ), arraylike2object( indices ), 'throw', arraylike2object( out ), 1, 0 );

var v = arr.get( 0 );
// returns 4