function assign( x, n, out, stride, offset, predicate, thisArg ) {
	var xo;
	var oo;

	xo = arraylike2object( x );
	oo = arraylike2object( out );
	if (
		xo.accessorProtocol ||
		oo.accessorProtocol
	) {
		accessors( xo, n, oo, stride, offset, predicate, thisArg );
		return out;
	}
	indexed( x, n, out, stride, offset, predicate, thisArg );
	return out;
}
Cumulatively tests whether at least `n` elements in a provided array pass a test implemented by a predicate function, while iterating from right-to-left, and assigns the results to elements in the output array.

@param {Collection} x - input array
@param {PositiveInteger} n - number of elements
@param {Collection} out - output array
@param {integer} stride - output array stride
@param {NonNegativeInteger} offset - output array offset
@param {Function} predicate - test function
@param {*} [thisArg] - execution context
@returns {Collection} output array

@example
function fcn( value ) {
    return ( value > 0 );
}

var x = [ 1, 1, 0, 0 ];

var y = [ false, null, false, null, false, null, false, null ];
var out = assign( x, 2, y, 2, 0, fcn );
// returns [ false, null, false, null, false, null, true, null ]

var bool = ( y === out );
// returns true