time-to-botec

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

_baseZipObject.js (660B)


      1 /**
      2  * This base implementation of `_.zipObject` which assigns values using `assignFunc`.
      3  *
      4  * @private
      5  * @param {Array} props The property identifiers.
      6  * @param {Array} values The property values.
      7  * @param {Function} assignFunc The function to assign values.
      8  * @returns {Object} Returns the new object.
      9  */
     10 function baseZipObject(props, values, assignFunc) {
     11   var index = -1,
     12       length = props.length,
     13       valsLength = values.length,
     14       result = {};
     15 
     16   while (++index < length) {
     17     var value = index < valsLength ? values[index] : undefined;
     18     assignFunc(result, props[index], value);
     19   }
     20   return result;
     21 }
     22 
     23 module.exports = baseZipObject;