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
				
				900 B
			
		
		
			
		
	
	
					30 lines
				
				900 B
			| 
											3 years ago
										 | var copyArray = require('./_copyArray'), | ||
|  |     isIndex = require('./_isIndex'); | ||
|  | 
 | ||
|  | /* Built-in method references for those with the same name as other `lodash` methods. */ | ||
|  | var nativeMin = Math.min; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Reorder `array` according to the specified indexes where the element at | ||
|  |  * the first index is assigned as the first element, the element at | ||
|  |  * the second index is assigned as the second element, and so on. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {Array} array The array to reorder. | ||
|  |  * @param {Array} indexes The arranged array indexes. | ||
|  |  * @returns {Array} Returns `array`. | ||
|  |  */ | ||
|  | function reorder(array, indexes) { | ||
|  |   var arrLength = array.length, | ||
|  |       length = nativeMin(indexes.length, arrLength), | ||
|  |       oldArray = copyArray(array); | ||
|  | 
 | ||
|  |   while (length--) { | ||
|  |     var index = indexes[length]; | ||
|  |     array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; | ||
|  |   } | ||
|  |   return array; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = reorder; |