字符串替换

cyyjm 2019-01-15 08:54:56
有一个这样的字符串,
ouabc;ouweix;oualex;5;oumyhome;1;
想将里面的数字,用下面json里的值替换(匹配id的值,取该id下所有的children里的id)。变成这样:ouabc;ouweix;oualex;ou9QFwjzTVc;ou9QFwk1I4q;ou9QFwh0aqC;ou9QFwp-LV;oumyhome;ou9QFwijJ4;ou9QFwoPJh;

{
"data": [
{
"id": "1",
"deptname": "办公室",
"children": [
{
"id": "ou9QFwijJ4",
"deptname": "张三",
"children": []
},
{
"id": "ou9QFwoPJh",
"deptname": "李四",
"children": []
}
]
},
{
"id": "5",
"deptname": "市场部",
"children": [
{
"id": "ou9QFwjzTVc",
"deptname": "黄五",
"children": []
},
{
"id": "ou9QFwk1I4q",
"deptname": "黎六",
"children": []
},
{
"id": "ou9QFwh0aqC",
"deptname": "谭七",
"children": []
},
{
"id": "ou9QFwp-LV",
"deptname": "林八",
"children": []
}
]
}
]
}
...全文
49 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyyjm 2019-01-15
  • 打赏
  • 举报
回复
学习了。谢谢!
老马历写记 2019-01-15
  • 打赏
  • 举报
回复
楼上正解!🐂🐂
Hello World, 2019-01-15
  • 打赏
  • 举报
回复

var s="ouabc;ouweix;oualex;5;oumyhome;1;";
var d={
"data": [
{
"id": "1",
"deptname": "办公室",
"children": [
{
"id": "ou9QFwijJ4",
"deptname": "张三",
"children": []
},
{
"id": "ou9QFwoPJh",
"deptname": "李四",
"children": []
}
]
},
{
"id": "5",
"deptname": "市场部",
"children": [
{
"id": "ou9QFwjzTVc",
"deptname": "黄五",
"children": []
},
{
"id": "ou9QFwk1I4q",
"deptname": "黎六",
"children": []
},
{
"id": "ou9QFwh0aqC",
"deptname": "谭七",
"children": []
},
{
"id": "ou9QFwp-LV",
"deptname": "林八",
"children": []
}
]
}
]
},n=d.data.length;
var ss = s.replace(/(\d+);/g,function(a,b,c){
var items="";
for(var i=0;i<n;i++){
if(d.data[i].id==b){
var children = d.data[i].children;
for(var j=0,l=children.length;j<l;j++){
items += children[j].id + ";";
}
}
}
return items;
});
alert(ss);

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧