The Wayback Machine - https://web.archive.org/web/20170626181146/https://github.com/lodash/lodash/blob/master/mapKey.js
Skip to content
Permalink
aa5e1b2 Apr 16, 2017
32 lines (29 sloc) 884 Bytes
/**
* The opposite of `mapValue` 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).
*
* @since 3.8.0
* @category Object
* @param {Object} object The object to iterate over.
* @param {Function} iteratee The function invoked per iteration.
* @returns {Object} Returns the new mapped object.
* @see mapValue
* @example
*
* mapKey({ 'a': 1, 'b': 2 }, function(value, key) {
* return key + value
* })
* // => { 'a1': 1, 'b2': 2 }
*/
function mapKey(object, iteratee) {
object = Object(object)
const result = {}
Object.keys(object).forEach((key) => {
const value = object[key]
result[iteratee(value, key, object)] = value
})
return result
}
export default mapKey
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.