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
						
					
					
				| 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;
 |