JSFiddle - React, Tailwind, and code Playground
by evgkch
JavaScript
const obj = {
a: 1,
b: 2,
c: 3,
d: 4,
};
function mapObj(targetObj, cb){
const buffer = Object.assign({}, targetObj);
for (let key in buffer)
{
const [newKey, newProp] = cb(key, buffer[key]);
if (key == newKey && newProp != buffer[key])
buffer[key] = newProp;
if (key != newKey)
{
buffer[newKey] = newProp;
delete buffer[key];
}
}
return buffer;
}
const newObj = mapObj(obj, (key, prop) => { console.log(key, prop); return ['_' + key, prop] });
console.log(newObj)