_replaceHolders.js
 1  /** Used as the internal argument placeholder. */
 2  var PLACEHOLDER = '__lodash_placeholder__';
 3  
 4  /**
 5   * Replaces all `placeholder` elements in `array` with an internal placeholder
 6   * and returns an array of their indexes.
 7   *
 8   * @private
 9   * @param {Array} array The array to modify.
10   * @param {*} placeholder The placeholder to replace.
11   * @returns {Array} Returns the new array of placeholder indexes.
12   */
13  function replaceHolders(array, placeholder) {
14    var index = -1,
15        length = array.length,
16        resIndex = 0,
17        result = [];
18  
19    while (++index < length) {
20      var value = array[index];
21      if (value === placeholder || value === PLACEHOLDER) {
22        array[index] = PLACEHOLDER;
23        result[resIndex++] = index;
24      }
25    }
26    return result;
27  }
28  
29  module.exports = replaceHolders;