Javascript 删除字符串中重复的连续单词的最快算法?

Javascript 删除字符串中重复的连续单词的最快算法?,javascript,Javascript,以下是我得到的: string = 'John bought bought black paint for his black car' words = string.split(' ') duplicatelessWords = [] for (const word of words) { if (duplicatelessWords[duplicatelessWords.length - 1] !== word) { duplicatelessWords.push(word)

以下是我得到的:

string = 'John bought bought black paint for his black car'
words = string.split(' ')
duplicatelessWords = []
for (const word of words) {
  if (duplicatelessWords[duplicatelessWords.length - 1] !== word) {
    duplicatelessWords.push(word)
  }
}
duplicatelessString = duplicatelessWords.join(' ')
应该还了约翰为他的黑色汽车买的黑色油漆


有没有办法让它更快?我想我需要连续多次使用它,有时在短字符串上,有时在大字符串上。

您可以使用正则表达式:

const string='约翰为他的黑色汽车买了黑色油漆'; const replaced=string.replace/\b\w+?:\1\b+/g,“$1”;
控制台被更换 可以使用正则表达式:

const string='约翰为他的黑色汽车买了黑色油漆'; const replaced=string.replace/\b\w+?:\1\b+/g,“$1”; 控制台被更换;