js-如何修改对象或者数组中的属性。正则表达式

假设,我们从后端取回来的Json对象数据中,有某些属性名不是我们想要的,就需要给它们重新命名。
// array为数组,old_name为修改前属性名,new_name为修改后属性名
JSON.parse(JSON.stringify(array).replace(/old_name/g, 'new_name')) 
 
1.JSON.stringify() 把json对象 转成 json字符串
2.使用正则的 replace() 方法替换属性名
3.JSON.parse() 再把json字符串 转成 json对象
 
下面就是我工作中转换的方法this.pars是后端给我的JSON对象使用正则进行转换,---pricePolicyInfoDtoList是要转换前的对象或者数组的属性pricePolicyInfoSaveParamList是转换后的属性名
this.parentparameter = JSON.parse(JSON.stringify(this.pars).replace(/pricePolicyInfoDtoList/g,'pricePolicyInfoSaveParamList'))
 
如需修改多个属性:就可以链式调用使用.replace方法
JSON.parse(JSON.stringify(array).replace(/old_name1/g, 'new_name1').replace(/old_name2/g, 'new_name2').replace(/old_name3/g, 'new_name3'))

在这里插入图片描述
在这里插入图片描述
2.正则表达式RegExp 修饰符 test() / exec()

修饰符用于执行不区分大小写和全文的搜索。
i - 修饰符是用来执行不区分大小写的匹配。
g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。
1.test() 方法搜索字符串指定的值,根据结果并返回真或假。 
2.exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
 
实例1: 在字符串中不区分大小写找"nowcoder"
 
var str = "Visit Nowcoder";
var patt1 = /nowcoder/i;
以下文本是获得的匹配的表达式:Nowcoder
 
实例2:  全文查找 "is"
var str="Is this all there is?";
var patt1=/is/g;
以下文本是获得的匹配的表达式:is,is;
 
实例3:  全文查找和不区分大小写搜索 "is"
var str="Is this all there is?";
var patt1=/is/gi;
以下文本是获得的匹配的表达式:Is,is,is
 
==============================================================
test()
test()方法搜索字符串指定的值,根据结果并返回真或假。
 
实例1:  下面的示例是从字符串中搜索字符 "e"var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:true
 
当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 )
 
var re = new RegExp("\w+");
 
exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
 
实例2:  下面的示例是从字符串中搜索字符 "e"var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));
由于该字符串中存在字母 "e",以上代码的输出将是:e
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值