有些时候前端从后端拿过来的JSON对象数据,某些字段并不是前端想要的,最近在开发过程中就遇到过,数据一个属性名需要修改,在与后端进行“友好交流、充分沟通”无果的情况下,没办法只能自行进行处理。
一般修改js对象数组的对象属性名,最简便的就是通过遍历对象数组的方法进行修改。如使用map方法返回一个新数组:
data.map(item=>{return {新字段名: item.旧字段名}})
但是用这个方法,如果处理的数据量很大,循环遍历它的执行效率是非常低的。后网上搜索学习找到一个更高效的方法,即通过正则的方法进行过滤修改。
JSON.parse(JSON.stringify(data).replace(/name/g, 'new_name')) //data为数组,name为修改前,new_name为修改后
解释:1)JSON.stringify()把json对象转成json字符串;
2)使用正则的replace()方法替换属性名;
3)JSON.parse()把json字符串又转成json对象。