在项目开发中总会需要对对象进行格式化以便处理,这其中就涉及到了修改对象的属性名,也就是对象键名的修改。
比如在处理下面这个对象时
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 12学好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]