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

这篇博客讨论了在处理Oracle和MySQL数据库返回的数据时,由于字段大小写不一致带来的维护难题。作者提出了一种解决方案,即遍历对象并使用toLowerCase()方法将键转换为小写。然而,这种方法可能导致数据丢失,特别是当数据本身已经是小写时。为了解决这个问题,作者引入了一个正则表达式来判断键是否全为小写字母,只有在不符合条件的情况下才进行转换和删除操作。这种方法确保了原有数据的安全性。此外,博客还展示了如何处理包含多条数据的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:我遇到现有的需求就是 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];
        }
      }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值