1.将计算公式中的字母code替换为code对应的codeName
const replaceStr = (str, index, char) =>{
return str.substring(0, index) + char + str.substring(index + 1)
}
const codeTable = [{code:'A',codeName:'字母A的codeName'},{code:'B',codeName:'字母B'},{code:'C',codeName:'字母C'}]
let formulaStr = 'A - B * C'
let codeMap = {}
codeTable.forEach(item=>{
codeMap[item.code] = item.codeName
})
const matchCodes= [...formulaStr.matchAll(/([A-Z])/g)].map(code=>{
return code[0]
})
let startSearchIndex = 0
for (let i = 0; i < matchCodes.length; i++) {
const code = matchCodes[i]
const codeMatchIndex = formulaStr.indexOf(code, startSearchIndex)
formulaStr = replaceStr(formulaStr, codeMatchIndex, codeMap[code])
startSearchIndex = codeMatchIndex + codeMap[code].length - code.length + 1
}
console.log(formulaStr)