JS数组对象中属性值转小写

需求:我遇到现有的需求就是 oracle和MySQL数据库给我返回的数据字段分别是大写和小写字段,为了好统一维护,把数据的属性值转为小写;

举个栗子:

const obj={NAME:123,AGE:456}

想要的结果:

{name:123,age:456}

处理方式:遍历对象,使用toLowerCase()转换key

for (const key in obj) {
          const lowerkey = key.toLowerCase();
          obj[lowerkey] =  obj[key];
          delete objClone[i][key];
      }

不过这会有问题,比如数据本身就是小写,那么delete方法就会把所有数据删除,对象就是{}了

所以我们要稍微判断一下:

 for (var key in obj) {
        const reg = /^[a-z]+$/;
        if (!reg.test(key)) {
          var lowerkey = key.toLowerCase();
          obj[lowerkey] = obj[key];
          delete obj[key];
        }
      }

到此处理就完成了;

多条数据原理一样,代码附上

const list=[
    {NAME:123,AGE:456,FEMALE:1},
    {NAME:123,AGE:456,FEMALE:1},
    {NAME:123,AGE:456,FEMALE:1},
    {NAME:123,AGE:456,FEMALE:1}
    ]    

var _obj = JSON.stringify(list);
    var objClone = JSON.parse(_obj);

    // 处理大小写问题
    for (var i = 0; i < objClone.length; i++) {
      for (var key in objClone[i]) {
        const reg = /^[a-z]+$/;
        if (!reg.test(key)) {
          var lowerkey = key.toLowerCase();
          objClone[i][lowerkey] = objClone[i][key];
          delete objClone[i][key];
        }
      }
    }

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值