如果文本中的单词属于数组,如何用Javascript replace()替换它们

如果文本中的单词属于数组,如何用Javascript replace()替换它们,javascript,arrays,typescript,replace,Javascript,Arrays,Typescript,Replace,我有一个像这样的文本 const a: string = 'I like orange, blue, black, pink, rose, yellow, white, black'; 还有一根绳子 const b: string =['black', 'yellow']; 我想在字符串中替换一个从黑色到黄色再到紫色的字符串,所以它必须看起来像屏幕上的一样 我喜欢橙色、蓝色、紫色、粉色、玫瑰色、紫色、白色、紫色。 我知道函数replace(),但不知道如何将b作为参数传递…您能帮我吗 如果可

我有一个像这样的文本

const a: string = 'I like orange, blue, black, pink, rose, yellow, white, black';
还有一根绳子

const b: string =['black', 'yellow'];
我想在字符串中替换一个从黑色到黄色再到紫色的字符串,所以它必须看起来像屏幕上的一样

我喜欢橙色、蓝色、紫色、粉色、玫瑰色、紫色、白色、紫色。

我知道函数replace(),但不知道如何将b作为参数传递…您能帮我吗

如果可能的话,我想用输入框代替,而不是紫色,这样我就可以在文本中输入我自己的颜色了……谢谢

replace()
不接受数组。但是有一个解决办法。你所能做的就是在你想替换的每个单词上循环

let a: string = 'I like orange, blue, black, pink, rose, yellow, white, black'

const b: string = ['black', 'yellow']

b.forEach(word => {
    a = a.replace(word, 'violet')
})
另外,
const
是不可变的,因此如果需要修改变量,请确保使用。

replace()
不接受数组。但是有一个解决办法。你所能做的就是在你想替换的每个单词上循环

let a: string = 'I like orange, blue, black, pink, rose, yellow, white, black'

const b: string = ['black', 'yellow']

b.forEach(word => {
    a = a.replace(word, 'violet')
})

另外,
const
是不可变的,因此如果需要修改变量,请确保使用。

可以将正则表达式与给定数组一起使用,并在正则表达式中使用管道作为或符号连接

let a='我喜欢橙色、蓝色、黑色、粉色、玫瑰色、黄色、白色、黑色';
常数b=['黑色','黄色'];
a=a.replace(新的RegExp(b.join(“|”),“g”),“violet”);

控制台日志(a)您可以将正则表达式与给定数组一起使用,并在正则表达式中使用管道作为或符号连接

let a='我喜欢橙色、蓝色、黑色、粉色、玫瑰色、黄色、白色、黑色';
常数b=['黑色','黄色'];
a=a.replace(新的RegExp(b.join(“|”),“g”),“violet”);

控制台日志(a)有关该功能,请参阅文档。有关该功能,请参阅文档function@Arrow,她没有足够的代表。你知道吗,可以插入一个输入字段,而不是紫色吗?例如,再次感谢您的回答,但我的意思略有不同…所以我想在屏幕上显示文本,但不是来自数组b的单词,必须有输入字段,以便我可以稍后键入其他不同颜色并将其存储到数组中,所以它将是我的输入数组。就像这里,在这个例子中…我不明白你到底想要什么。也许你会问一个新问题。我想一定有类似于a.replace(newregexp(b.join(“|”),“g”),这样我就可以用inputs@Arrow,她没有足够的代表。你知道吗,可以插入一个输入字段,而不是紫色吗?例如,再次感谢您的回答,但我的意思略有不同…所以我想在屏幕上显示文本,但不是来自数组b的单词,必须有输入字段,以便我可以稍后键入其他不同颜色并将其存储到数组中,所以它将是我的输入数组。就像这里,在这个例子中…我不明白你到底想要什么。也许你会问一个新问题。我想一定有类似于a.replace(newregexp(b.join(“|”),“g”),所以我可以用输入来代替单词