Spaces:
Configuration error
Configuration error
var baseAssignValue = require('./_baseAssignValue'), | |
baseForOwn = require('./_baseForOwn'), | |
baseIteratee = require('./_baseIteratee'); | |
/** | |
* The opposite of `_.mapValues`; this method creates an object with the | |
* same values as `object` and keys generated by running each own enumerable | |
* string keyed property of `object` thru `iteratee`. The iteratee is invoked | |
* with three arguments: (value, key, object). | |
* | |
* @static | |
* @memberOf _ | |
* @since 3.8.0 | |
* @category Object | |
* @param {Object} object The object to iterate over. | |
* @param {Function} [iteratee=_.identity] The function invoked per iteration. | |
* @returns {Object} Returns the new mapped object. | |
* @see _.mapValues | |
* @example | |
* | |
* _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { | |
* return key + value; | |
* }); | |
* // => { 'a1': 1, 'b2': 2 } | |
*/ | |
function mapKeys(object, iteratee) { | |
var result = {}; | |
iteratee = baseIteratee(iteratee, 3); | |
baseForOwn(object, function(value, key, object) { | |
baseAssignValue(result, iteratee(value, key, object), value); | |
}); | |
return result; | |
} | |
module.exports = mapKeys; | |