axios response 返回数据,正则匹配替换里面文字,注意返回的数据可能多层嵌套的
- 在做项目招标时,新切换个分支,用来竞标,大体流程类似,但其中有企业字段需要替换
- 一个个页面替换也很麻烦,从接口返回数据上想想办法!
- tips:返回的数据格式,各种类型,各种嵌套的可能性都有;
function replaceData(data) {
if (typeof data === 'string') {
// 使用正则表达式将 'apple' 替换为 'orange'
const replacedData = data.replace(/apple/g, 'orange')
return replacedData
} else if (Array.isArray(data)) {
// 如果是数组,则对数组中的每个元素递归调用 replaceData 函数
return data.map(item => replaceData(item))
} else if (typeof data === 'object' && data !== null) {
// 如果是对象,则对对象中的每个属性递归调用 replaceData 函数
const replacedData = {}
for (const key in data) {
const value = data[key]
replacedData[key] = replaceData(value)
}
return replacedData
} else {
// 如果不是字符串、数组或对象,则直接返回原始数据
return data
}
}
axios.get('http://example.com/api/data')
.then(response => {
const data = response.data
// 对数据进行匹配和替换
const replacedData = replaceData(data)
return replaceData;
// 对替换后的数据进行下一步操作
// ...
})
在上述代码中,replaceData 是递归函数,它接受一个数据参数,判断数据类型并进行相应的处理。如果数据是字符串,则对其进行匹配和替换;如果数据是数组,则对数组中的每个元素递归调用 replaceData 函数;如果数据是对象,则对对象中的每个属性递归调用 replaceData 函数。最终,函数返回一个替换后的数据。
在实际应用中,可以根据需要添加其他判断条件和处理逻辑。但总的原则是:通过递归调用函数处理多层嵌套的数据,以实现匹配和替换。
相信坚持的力量,日复一日的习惯.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-04-22 & 引用传值
2019-04-22 tp3 save操作小bug误区