You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					31 lines
				
				758 B
			
		
		
			
		
	
	
					31 lines
				
				758 B
			| 
											3 years ago
										 | var eq = require('./eq'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without | ||
|  |  * support for iteratee shorthands. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {Array} array The array to inspect. | ||
|  |  * @param {Function} [iteratee] The iteratee invoked per element. | ||
|  |  * @returns {Array} Returns the new duplicate free array. | ||
|  |  */ | ||
|  | function baseSortedUniq(array, iteratee) { | ||
|  |   var index = -1, | ||
|  |       length = array.length, | ||
|  |       resIndex = 0, | ||
|  |       result = []; | ||
|  | 
 | ||
|  |   while (++index < length) { | ||
|  |     var value = array[index], | ||
|  |         computed = iteratee ? iteratee(value) : value; | ||
|  | 
 | ||
|  |     if (!index || !eq(computed, seen)) { | ||
|  |       var seen = computed; | ||
|  |       result[resIndex++] = value === 0 ? 0 : value; | ||
|  |     } | ||
|  |   } | ||
|  |   return result; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = baseSortedUniq; |