function mapBy( N, x, strideX, offsetX, xget, y, strideY, offsetY, yset, fcn, clbk, thisArg ) { // eslint-disable-line max-len, max-params
	var ix;
	var iy;
	var v;
	var i;

	if ( N <= 0 ) {
		return y;
	}
	ix = offsetX;
	iy = offsetY;
	for ( i = 0; i < N; i++ ) {
		v = clbk.call( thisArg, xget( x, ix ), i, [ ix, iy ], [ x, y ] );
		if ( v !== void 0 ) {
			yset( y, iy, fcn( v ) );
		}
		ix += strideX;
		iy += strideY;
	}
	return y;
}
Applies a unary function to each element retrieved from a strided input array according to a callback function and assigns results to a strided output array.

@private
@param {NonNegativeInteger} N - number of indexed elements
@param {Collection} x - input array/collection
@param {integer} strideX - `x` stride length
@param {NonNegativeInteger} offsetX - starting `x` index
@param {Function} xget - accessor for retrieving elements in `x`
@param {Collection} y - destination array/collection
@param {integer} strideY - `y` stride length
@param {NonNegativeInteger} offsetY - starting `y` index
@param {Function} yset - accessor for setting elements in `x`
@param {Function} fcn - unary function to apply to callback return values
@param {Callback} clbk - callback
@param {*} [thisArg] - callback execution context
@returns {Collection} `y`

@example
var abs = require( '@stdlib/math/base/special/abs' );

function accessor( v ) {
    return v;
}

function xget( buf, idx ) {
    return buf[ idx ] * 2.0;
}

function yset( buf, idx, value ) {
    buf[ idx ] = value;
}

var x = [ 1.0, -2.0, 3.0, -4.0, 5.0 ];
var y = [ 0.0, 0.0, 0.0, 0.0, 0.0 ];

mapBy( x.length, x, 1, 0, xget, y, 1, 0, yset, abs, accessor );

console.log( y );
// => [ 2.0, 4.0, 6.0, 8.0, 10.0 ]