Files
30-seconds-of-code/test/invertKeyValues/invertKeyValues.js
2018-08-02 13:49:33 +03:00

9 lines
240 B
JavaScript

const invertKeyValues = (obj, fn) =>
Object.keys(obj).reduce((acc, key) => {
const val = fn ? fn(obj[key]) : obj[key];
acc[val] = acc[val] || [];
acc[val].push(key);
return acc;
}, {});
module.exports = invertKeyValues;