mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 16:17:50 +00:00
30 lines
778 B
JavaScript
30 lines
778 B
JavaScript
/** Used as the internal argument placeholder. */
|
|
const PLACEHOLDER = '__lodash_placeholder__'
|
|
|
|
/**
|
|
* Replaces all `placeholder` elements in `array` with an internal placeholder
|
|
* and returns an array of their indexes.
|
|
*
|
|
* @private
|
|
* @param {Array} array The array to modify.
|
|
* @param {*} placeholder The placeholder to replace.
|
|
* @returns {Array} Returns the new array of placeholder indexes.
|
|
*/
|
|
function replaceHolders(array, placeholder) {
|
|
let index = -1
|
|
const { length } = array
|
|
let resIndex = 0
|
|
const result = []
|
|
|
|
while (++index < length) {
|
|
const value = array[index]
|
|
if (value === placeholder || value === PLACEHOLDER) {
|
|
array[index] = PLACEHOLDER
|
|
result[resIndex++] = index
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
|
|
export default replaceHolders
|