reactjs react.js中字符串的多个标记替换

2g32fytz  于 2023-02-04  发布在  React
关注(0)|答案(1)|浏览(104)

我使用以下JSX代码将令牌替换为提示符中的值:

const prompt = '[a]_[b]_[c]'
const tokens = ['[a]','[b]','[c]']
const values = ['A', 'BBB', 'CC']
const promptRes = tokens.reduce( (prevText, curText, i) => {
    prevText = prevText.replace(curText, values[i]) 
}, prompt)
console.log(promptRes) // Expected: 'A_BBB_CC'

但它给了我以下错误:

  • prevText = prevText. replace(当前文本,值[i])^类型错误:无法读取未定义的属性(读取"replace")*

初始值(即提示符)似乎无法使用。
请帮助:
1.解释为什么这是一个问题,和/或
1.建议一个不带任何循环的多令牌替换问题的解决方案(注意JSX中不允许循环)
谢谢大家!

atmip9wb

atmip9wb1#

您可以阅读如何使用reducehere

const prompt = '[a]_[b]_[c]'
const tokens = ['[a]', '[b]', '[c]']
const values = ['A', 'BBB', 'CC']
const promptRes = tokens.reduce((prevText, curText, i) => {
  return prevText.replace(curText, values[i])
}, prompt)
console.log(promptRes) // Expected: 'A_BBB_CC'

相关问题