仵航说 Vue用replace修改数组中对象的键值或者字段名 仵老大

1.介绍

先看图


今天在项目中遇到了一个问题,例如我现在需要传一些数据到后端,数组例如是

letarr=[

    {"colId":"SPECIAL_DESCRIBE","colName","SPECIAL_DESCRIBE名称"},

    {"colId":"CUS_NAME","colName","CUS_NAME名称"}

]

但是后端需要接收的数组是

letarray=[

    {"id":"SPECIAL_DESCRIBE","label","SPECIAL_DESCRIBE名称"},

    {"id":"CUS_NAME","label","CUS_NAME名称"}

]

因为这些数据是从后台查询出来的,所以我想通过在后端修改sql语句,用SQL的AS起别名,但是我去后端查看发现后端用的mybatis-plus的官方方法,直接查询的数据库全部,然后返回给了前端,所以思来想去跑去问了经理,他告诉我用replace,但是我没有用过,他说js都可以用,别说vue了,我就紧赶慢赶的去搜索,最后总结了一些,

2.解决方案

假如只是单独的解决上面的问题你可以直接这样做

//前端现在的数组

letarr=[

    {"colId":"SPECIAL_DESCRIBE","colName","SPECIAL_DESCRIBE名称"},

    {"colId":"CUS_NAME","colName","CUS_NAME名称"}

]

//假如后端需要的数组名字叫 array 直接定义

letarray=JSON.parse(JSON.stringify(arr).replace(/colId/g,"id").replace(/colName/g,"label"))

console.log(array)

//现在你去打印就会看出来名字已经变了

3.其他例子

期间我发现了很多好玩的,你写完会发现 replace中的 / /g代表的什么,还有没有其他的符号,我就去做了攻略

3.1例子1: / /(作用截取)

//首先定义一个变量

letname="仵航全世界最牛"

//之后我们进行截取

letnewName=name.replace(/仵航/,"仵老大")

//这个时候我们进行打印

console.log(newName)

//输出的内容就是

仵老大全世界最牛

3.2例子2:/ /g(全局替换)

//这个也就是上面用到的全局替换

letwuhang="今天仵航说,天气真的很好,"

wuhang=wuhang+"适合跟仵航一起去爬山,"

wuhang=wuhang+"也适合跟仵航一起去游泳"

//然后进行全局替换

letwulaoda=wuhang.replace(/仵航/g,"仵老大")

//进行打印

console.log(wulaoda)

//输出结果就是

今天仵老大说,天气真的很好,适合跟仵老大一起去爬山,也适合跟仵老大一起去游泳

3.3例子3://i(保证替换的大写不会发生改变)

//首先定义一个变量

letwuhang="wuhang说,你真是个java开发工程师哎"

//然后进行替换,并保证你替换的字母大小写不发生改变

letwulaoda=wuhang.replace(/wuhang/i,"WuHang").replace(/java/i,"Java")

//进行打印

console.log(wulaoda)

//输出结果就是

WuHang说,你真是个Java开发工程师哎

当然还有另外几种,但是用的不多,基本上这几种就可以解决大部分问题,

4.应用场景

接下来截图我项目中用到的代码,对以后的自己说加油

//点击预览弹出弹框

showTable(){

console.log(sessionStorage)

console.log("点击预览的时候",this.formatData.child1)

// let sessionStorageID=sessionStorage.getItem("customQuery9fa91cea-a0b8-4cf7-ad3a-9bf679f07a0d")

//把child1的数组遍历出来存到sessionStorage里

letchild1=JSON.parse(JSON.stringify(this.formatData.child1).replace(/,"id"/g,"paramtID").replace(/colId/g,"id").replace(/colName/g,"label").replace(/colEnName/g,"fieldEnName").replace(/colChEnName/g,"fieleChEnName").replace(/conditionName/g,"condition"))

console.log("child1",child1)

letchild2=JSON.parse(JSON.stringify(this.formatData.child2).replace(/,"id"/g,"paramtID").replace(/colId/g,"id").replace(/colName/g,"label").replace(/colEnName/g,"fieldEnName").replace(/colChEnName/g,"fieleChEnName").replace(/conditionName/g,"condition"))

console.log("child2",child2)

letchild3=JSON.parse(JSON.stringify(this.formatData.child3).replace(/,"id"/g,"paramtID").replace(/colId/g,"id").replace(/colName/g,"label").replace(/colEnName/g,"fieldEnName").replace(/colChEnName/g,"fieleChEnName").replace(/conditionName/g,"condition"))

console.log("child3",child3)

letchild4=JSON.parse(JSON.stringify(this.formatData.child4).replace(/,"id"/g,"paramtID").replace(/colId/g,"id").replace(/colName/g,"label").replace(/colEnName/g,"fieldEnName").replace(/colChEnName/g,"fieleChEnName").replace(/conditionName/g,"condition"))

console.log("child4",child4)

for(leti=0;i<child1.length;i++){

console.log("点击预览之后",child1[i])

sessionStorage.setItem(child1[i].id+1,JSON.stringify(child1[i]))

     }

for(leti=0;i<child2.length;i++){

console.log("点击预览之后",child2[i])

sessionStorage.setItem(child2[i].id+2,JSON.stringify(child2[i]))

     }

for(leti=0;i<child3.length;i++){

console.log("点击预览之后",child3[i])

sessionStorage.setItem(child3[i].id+3,JSON.stringify(child3[i]))

     }

for(leti=0;i<child4.length;i++){

console.log("点击预览之后",child4[i])

sessionStorage.setItem(child4[i].id+4,JSON.stringify(child4[i]))

     }

this.$http.post('/reporttools/sys-dataset/queryTable',sessionStorage).then(resp=>{

this.showTableData=resp.data

     })

this.drawer=true;

   },

本期关于replace的分享就到这里,码字不易,希望您点个赞再走

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容