function() {
      var i, arr = this;
      multiArgs(arguments, function(f) {
        i = 0;
        while(i < arr.length) {
          if(multiMatch(arr[i], f, arr, [arr[i], i, arr])) {
            arr.splice(i, 1);
          } else {
            i++;
          }
        }
      });
      return arr;
    }
function() {
      var i, arr = this;
      multiArgs(arguments, function(f) {
        i = 0;
        while(i < arr.length) {
          if(multiMatch(arr[i], f, arr, [arr[i], i, arr])) {
            arr.splice(i, 1);
          } else {
            i++;
          }
        }
      });
      return arr;
    }
function ( ) { var i , arr = this ; multiArgs ( arguments , function ( f ) { i = 0 ; while ( i < arr . length ) { if ( multiMatch ( arr [ i ] , f , arr , [ arr [ i ] , i , arr ] ) ) { arr . splice ( i , 1 ) ; } else { i ++ ; } } } ) ; return arr ; }
*
@method remove([f1], [f2], ...)
@returns Array
@short Removes any element in the array that matches [f1], [f2], etc.
@extra Will match a string, number, array, object, or alternately test against a function or regex. This method will change the array! Use %exclude% for a non-destructive alias. This method implements @array_matching.
@example

[1,2,3].remove(3)         -> [1,2]
['a','b','c'].remove(/b/) -> ['a','c']
+   [{a:1},{b:2}].remove(function(n) {
return n['a'] == 1;
});                       -> [{b:2}]

*
* @method remove ( [ f1 ] [ f2 ] ... ) @returns Array @short Removes any element in the array that matches [ f1 ] [ f2 ] etc . @extra Will match a string number array object or alternately test against a function or regex . This method will change the array! Use %exclude% for a non - destructive alias . This method implements @array_matching . @example