/** * This base implementation of `zipObject` which assigns values using `assignFunc`. * * @private * @param {Array} props The property identifiers. * @param {Array} values The property values. * @param {Function} assignFunc The function to assign values. * @returns {Object} Returns the new object. */ function baseZipObject(props, values, assignFunc) { let index = -1; const length = props.length; const valsLength = values.length; const result = {}; while (++index < length) { const value = index < valsLength ? values[index] : undefined; assignFunc(result, props[index], value); } return result; } export default baseZipObject;