在项目开发中总会需要对对象进行格式化以便处理,这其中就涉及到了修改对象的属性名,也就是对象键名的修改。
比如在处理下面这个对象时
const obj = {
name :
Bobo ',
job: ' Master',
number: 1234
};采用传统的操作方式就是进行一个拷贝处理
obj ["lastName"] = obj ["name"];
delete obj["name"]
console. Log(obj);
//{ job: 'Master', number: 1234, las tName: Bobo ' }但是当需要成批的修改键名,而且数据比较多时,此方式显然不能胜任,这会导致代码量激增,容易出产BUG,在JavaScript中如果涉及到对象的拷贝还有深浅之分。
因此有必要构建一个特定的方法来实现对对象属性名称的修改,而且要是优雅的,能够批量完成的方式。
//用提供的值替换多个对象键名称
const renameKeys = (keysMap, obj) =>
object . keys ( obj) . reduce(
(acc, key) => ({
acc,
{
[keysMap[key] I1 key]: obj[key]
}
}), {}
);在这里借助Object.keys()、Array.prototype.reduce()和扩展运算符(...)就可以轻松完成对应键名的修改,支持批量操作,此后只需要调用这个方法就能快速和优雅地得到需要的结果
console. Log (renameKeys({
name: ' fi rstName
number: ' id'
}, obj));
//{ job: 'Master', id: 1234, Las tName: ' Bobo ' }javascript
2022-09-12 18学好javascript是开发必备基础知识,任何开发都离不开javascript.我的站长站为您整理javascript教程,javascript源码,更多javascript资源请访问我的站长站。...
- 植物大战僵尸中文Javascript版源码 [2022-06-29]
- Acrobat Pro+javascript将pdf转换成带页码目录 [2022-06-25]
- 简单JavaScript闯关小游戏源码下载 [2021-12-25]
- JavaScript动态修改样式方法 [2021-10-30]
- JavaScript ES6-11版本语法大全教程 [2021-05-14]


