.
This commit is contained in:
		
							
								
								
									
										51
									
								
								qwen/nodejs/node_modules/lodash/_basePullAll.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								qwen/nodejs/node_modules/lodash/_basePullAll.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
var arrayMap = require('./_arrayMap'),
 | 
			
		||||
    baseIndexOf = require('./_baseIndexOf'),
 | 
			
		||||
    baseIndexOfWith = require('./_baseIndexOfWith'),
 | 
			
		||||
    baseUnary = require('./_baseUnary'),
 | 
			
		||||
    copyArray = require('./_copyArray');
 | 
			
		||||
 | 
			
		||||
/** Used for built-in method references. */
 | 
			
		||||
var arrayProto = Array.prototype;
 | 
			
		||||
 | 
			
		||||
/** Built-in value references. */
 | 
			
		||||
var splice = arrayProto.splice;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The base implementation of `_.pullAllBy` without support for iteratee
 | 
			
		||||
 * shorthands.
 | 
			
		||||
 *
 | 
			
		||||
 * @private
 | 
			
		||||
 * @param {Array} array The array to modify.
 | 
			
		||||
 * @param {Array} values The values to remove.
 | 
			
		||||
 * @param {Function} [iteratee] The iteratee invoked per element.
 | 
			
		||||
 * @param {Function} [comparator] The comparator invoked per element.
 | 
			
		||||
 * @returns {Array} Returns `array`.
 | 
			
		||||
 */
 | 
			
		||||
function basePullAll(array, values, iteratee, comparator) {
 | 
			
		||||
  var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
 | 
			
		||||
      index = -1,
 | 
			
		||||
      length = values.length,
 | 
			
		||||
      seen = array;
 | 
			
		||||
 | 
			
		||||
  if (array === values) {
 | 
			
		||||
    values = copyArray(values);
 | 
			
		||||
  }
 | 
			
		||||
  if (iteratee) {
 | 
			
		||||
    seen = arrayMap(array, baseUnary(iteratee));
 | 
			
		||||
  }
 | 
			
		||||
  while (++index < length) {
 | 
			
		||||
    var fromIndex = 0,
 | 
			
		||||
        value = values[index],
 | 
			
		||||
        computed = iteratee ? iteratee(value) : value;
 | 
			
		||||
 | 
			
		||||
    while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
 | 
			
		||||
      if (seen !== array) {
 | 
			
		||||
        splice.call(seen, fromIndex, 1);
 | 
			
		||||
      }
 | 
			
		||||
      splice.call(array, fromIndex, 1);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return array;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = basePullAll;
 | 
			
		||||
		Reference in New Issue
	
	Block a user