mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-09 10:27: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