快速更改对象中的字段名

问题描述:

有这样一个对象

let params = {
  id: 123,
  name: 'WiseWrong',
  e_mail: '123@qq.com',
tell: '12345678', }

由于种种原因,需要将其中的字段名  e_mail 修改为 eMail

 

分析原因:

处理的方案有很多,比如用 for-in 语句遍历,或者 delete 之后再新增字段,但这两种方案都有问题

首先 for-in 遍历效率太低,直接忽略。使用 delete 处理基础类型很有效,但字段的顺序会变,而且对于引用类型还需要额外处理

最终我采用了 JSON + replace 的方式

 

解决方案:

let paramsJson = JSON.stringify(params);
paramsJson = paramsJson.replace(/e_mail/, 'eMail');
params = JSON.parse(paramsJson);

有朋友提到 key 和 value 相同的情况,这种情况只要把 key 写全就好了

paramsJson = paramsJson.replace(/"e_mail":/, '"eMail":');
原文地址:https://www.cnblogs.com/wisewrong/p/12058996.html