function fromIteratorMap( it, clbk, thisArg ) {
	var out;
	var v;
	var z;
	var i;

	out = [];
	i = -1;
	while ( true ) {
		v = it.next();
		if ( v.done ) {
			break;
		}
		i += 1;
		z = clbk.call( thisArg, v.value, i );
		if ( isArrayLikeObject( z ) && z.length >= 2 ) {
			out.push( z[ 0 ], z[ 1 ] );
		} else if ( isComplexLike( z ) ) {
			out.push( real( z ), imag( z ) );
		} else {
			return new TypeError( format( 'invalid argument. Callback must return either a two-element array containing real and imaginary components or a complex number. Value: `%s`.', z ) );
		}
	}
	return out;
}
Returns an array of iterated values.

@private
@param {Object} it - iterator
@param {Function} clbk - callback to invoke for each iterated value
@param {*} thisArg - invocation context
@returns {(Array|TypeError)} array or an error