function countIfs() {
	var predicates;
	var arrays;
	var len;
	var idx;
	var x;
	var i;

	arrays = [];
	predicates = [];
	for ( i = 0; i < arguments.length; i += 2 ) {
		arrays.push( arraylike2object( arguments[ i ] ) );
		predicates.push( arguments[ i+1 ] );
	}

	len = arguments[ 0 ].length;
	idx = zeroTo( len );
	for ( i = 0; i < arrays.length; i++ ) {
		x = arrays[ i ];
		if ( x.accessorProtocol ) {
			idx = accessors( x, idx, predicates[ i ] );
		} else {
			idx = indexed( x.data, idx, predicates[ i ] );
		}
	}
	return idx.length;
}
Performs element-wise evaluation of one or more input arrays according to provided predicate functions and counts the number of elements for which all predicates respectively return `true`.

@param {Collection} x0 - first input array
@param {Function} predicate0 - first predicate function
@param {Collection} [x1] - second input array
@param {Function} [predicate1] - second predicate function
@param {Collection} [x2] - third input array
@param {Function} [predicate2] - third predicate function
@param {...(Collection|Function)} [args] - additional input arrays and predicate functions
@returns {NonNegativeInteger} result

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

function predicate1( value ) {
    return ( value < 3 );
}

var x0 = [ 0, 1, 0, 1, 2 ];
var x1 = [ 2, 3, 1, 2, 5 ];

var n = countIfs( x0, predicate0, x1, predicate1 );
// returns 1