function renameObjectKeys(objArr, renameMap) {
const keys = Object.keys(renameMap);
for (let i = objArr.length - 1; i >= 0; i -= 1) {
for (let j = keys.length - 1; j >= 0; j -= 1) {
delete Object.assign(
objArr[i],
{[renameMap[keys[j]]]: objArr[i][keys[j]] }
)[keys[j]];
}
}
}
This functions mutates all objects in a given object array, replacing all specified keys in the renameMap
with their respective replacement values.
Example usage:
const users = [
{
name: "...",
surname: "...",
age: 30
},
// ...
];
const renameMap = {
name: "firstName",
surname: "lastName"
};
renameObjectKeys(users, renameMap);
console.log(users);
// output:
// [
// {
// firstName: "...",
// lastName: "...",
// age: 30
// },
// // ...
// ];
Tested in production application with Node.js, arrays containing 300k+ objects with 50+ keys would take few milliseconds to remap the keys.