function multiMatch(el, match, scope, params) {
    var result = true;
    if(el === match) {
      // Match strictly equal values up front.
      return true;
    } else if(isRegExp(match) && isString(el)) {
      // Match against a regexp
      return regexp(match).test(el);
    } else if(isFunction(match)) {
      // Match against a filtering function
      return match.apply(scope, params);
    } else if(isObject(match) && isObjectPrimitive(el)) {
      // Match against a hash or array.
      iterateOverObject(match, function(key, value) {
        if(!multiMatch(el[key], match[key], scope, [el[key], el])) {
          result = false;
        }
      });
      return result;
    } else {
      return isEqual(el, match);
    }
  }
function multiMatch(el, match, scope, params) {
    var result = true;
    if(el === match) {
      
      return true;
    } else if(isRegExp(match) && isString(el)) {
      
      return regexp(match).test(el);
    } else if(isFunction(match)) {
      
      return match.apply(scope, params);
    } else if(isObject(match) && isObjectPrimitive(el)) {
      
      iterateOverObject(match, function(key, value) {
        if(!multiMatch(el[key], match[key], scope, [el[key], el])) {
          result = false;
        }
      });
      return result;
    } else {
      return isEqual(el, match);
    }
  }
function multiMatch ( el , match , scope , params ) { var result = true ; if ( el === match ) { // Match strictly equal values up front. return true ; } else if ( isRegExp ( match ) && isString ( el ) ) { // Match against a regexp return regexp ( match ) . test ( el ) ; } else if ( isFunction ( match ) ) { // Match against a filtering function return match . apply ( scope , params ) ; } else if ( isObject ( match ) && isObjectPrimitive ( el ) ) { // Match against a hash or array. iterateOverObject ( match , function ( key , value ) { if ( ! multiMatch ( el [ key ] , match [ key ] , scope , [ el [ key ] , el ] ) ) { result = false ; } } ) ; return result ; } else { return isEqual ( el , match ) ; } }
*
@package Array
@dependency core
@description Array manipulation and traversal, "fuzzy matching" against elements, alphanumeric sorting and collation, enumerable methods on Object.

*
* @package Array @dependency core @description Array manipulation and traversal fuzzy matching against elements alphanumeric sorting and collation enumerable methods on Object .