1var copyArray = require('./_copyArray'), 2 isIndex = require('./_isIndex'); 3 4/* Built-in method references for those with the same name as other `lodash` methods. */ 5var nativeMin = Math.min; 6 7/** 8 * Reorder `array` according to the specified indexes where the element at 9 * the first index is assigned as the first element, the element at 10 * the second index is assigned as the second element, and so on. 11 * 12 * @private 13 * @param {Array} array The array to reorder. 14 * @param {Array} indexes The arranged array indexes. 15 * @returns {Array} Returns `array`. 16 */ 17function reorder(array, indexes) { 18 var arrLength = array.length, 19 length = nativeMin(indexes.length, arrLength), 20 oldArray = copyArray(array); 21 22 while (length--) { 23 var index = indexes[length]; 24 array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; 25 } 26 return array; 27} 28 29module.exports = reorder; 30