- 在做项目招标时,新切换个分支,用来竞标,大体流程类似,但其中有企业字段需要替换
- 一个个页面替换也很麻烦,从接口返回数据上想想办法!
- 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 函数。最终,函数返回一个替换后的数据。
在实际应用中,可以根据需要添加其他判断条件和处理逻辑。但总的原则是:通过递归调用函数处理多层嵌套的数据,以实现匹配和替换。
标签:返回,axios,const,数据,replaceData,替换,replacedData,data,response From: https://www.cnblogs.com/pansidong/p/17343421.html