Files
lodash/.internal/replaceHolders.js
2017-03-12 23:16:34 -07:00

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