time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

_replaceHolders.js (785B)


      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;