time-to-botec

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

_initCloneArray.js (692B)


      1 /** Used for built-in method references. */
      2 var objectProto = Object.prototype;
      3 
      4 /** Used to check objects for own properties. */
      5 var hasOwnProperty = objectProto.hasOwnProperty;
      6 
      7 /**
      8  * Initializes an array clone.
      9  *
     10  * @private
     11  * @param {Array} array The array to clone.
     12  * @returns {Array} Returns the initialized clone.
     13  */
     14 function initCloneArray(array) {
     15   var length = array.length,
     16       result = new array.constructor(length);
     17 
     18   // Add properties assigned by `RegExp#exec`.
     19   if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
     20     result.index = array.index;
     21     result.input = array.input;
     22   }
     23   return result;
     24 }
     25 
     26 module.exports = initCloneArray;