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.
		
		
		
		
		
			
		
			
				
					30 lines
				
				785 B
			
		
		
			
		
	
	
					30 lines
				
				785 B
			| 
											3 years ago
										 | /** Used as the internal argument placeholder. */ | ||
|  | var PLACEHOLDER = '__lodash_placeholder__'; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Replaces all `placeholder` elements in `array` with an internal placeholder | ||
|  |  * and returns an array of their indexes. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {Array} array The array to modify. | ||
|  |  * @param {*} placeholder The placeholder to replace. | ||
|  |  * @returns {Array} Returns the new array of placeholder indexes. | ||
|  |  */ | ||
|  | function replaceHolders(array, placeholder) { | ||
|  |   var index = -1, | ||
|  |       length = array.length, | ||
|  |       resIndex = 0, | ||
|  |       result = []; | ||
|  | 
 | ||
|  |   while (++index < length) { | ||
|  |     var value = array[index]; | ||
|  |     if (value === placeholder || value === PLACEHOLDER) { | ||
|  |       array[index] = PLACEHOLDER; | ||
|  |       result[resIndex++] = index; | ||
|  |     } | ||
|  |   } | ||
|  |   return result; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = replaceHolders; |