mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-01 07:47:49 +00:00
Remove rearg.
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
import copyArray from './copyArray.js'
|
||||
import isIndex from './isIndex.js'
|
||||
|
||||
/* Built-in method references for those with the same name as other `lodash` methods. */
|
||||
const 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) {
|
||||
const arrLength = array.length
|
||||
let length = nativeMin(indexes.length, arrLength)
|
||||
const oldArray = copyArray(array)
|
||||
|
||||
while (length--) {
|
||||
const index = indexes[length]
|
||||
array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined
|
||||
}
|
||||
return array
|
||||
}
|
||||
|
||||
export default reorder
|
||||
28
rearg.js
28
rearg.js
@@ -1,28 +0,0 @@
|
||||
import createWrap from './.internal/createWrap.js'
|
||||
|
||||
/** Used to compose bitmasks for function metadata. */
|
||||
const WRAP_REARG_FLAG = 256
|
||||
|
||||
/**
|
||||
* Creates a function that invokes `func` with arguments arranged according
|
||||
* to the specified `indexes` where the argument value at the first index is
|
||||
* provided as the first argument, the argument value at the second index is
|
||||
* provided as the second argument, and so on.
|
||||
*
|
||||
* @since 3.0.0
|
||||
* @category Function
|
||||
* @param {Function} func The function to rearrange arguments for.
|
||||
* @param {...(number|number[])} indexes The arranged argument indexes.
|
||||
* @returns {Function} Returns the new function.
|
||||
* @example
|
||||
*
|
||||
* const rearged = rearg((a, b, c) => [a, b, c], [2, 0, 1])
|
||||
*
|
||||
* rearged('b', 'c', 'a')
|
||||
* // => ['a', 'b', 'c']
|
||||
*/
|
||||
function rearg(func, ...indexes) {
|
||||
return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes)
|
||||
}
|
||||
|
||||
export default rearg
|
||||
Reference in New Issue
Block a user