• 微信号:Zh-y9213
您当前的位置:爱资源分享网 > > 网站源码 > 网站制作

JavaScript优雅地修改对象属性名

栏目:网站制作时间:2021-07-09 20:16阅读数:78人阅读

在项目开发中总会需要对对象进行格式化以便处理,这其中就涉及到了修改对象的属性名,也就是对象键名的修改。

比如在处理下面这个对象时

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 ' }



资源均来自第三方,谨慎下载,前往第三方网站下载

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:737597453@qq.com