2020-08-20
描述
根据提供的键值对将对象中的多个键进行重命名。
提示
- 在
Object.keys()
的返回值上使用Array.prototype.reduce()
以获取对象的所有键 - 通过扩展运算符(
...
)和keysMap
对其匹配的键进行重命名
代码
const renameKeys = (keysMap, obj) =>
Object.keys(obj).reduce(
(acc, key) => ({
...acc,
...{ [keysMap[key] || key]: obj[key] }
}),
{}
);
示例
将对象中的 name 和 job 键进行重命名:
const obj = { name: 'Bobo', job: 'Front-End Master', shoeSize: 100 };
renameKeys({ name: 'firstName', job: 'passion' }, obj); // {firstName: "Bobo", passion: "Front-End Master", shoeSize: 100}