【发布时间】:2017-06-01 10:14:06
【问题描述】:
假设我有一个这样的字符串:
const sentence = "This is my custom string";
我想突出显示这句话中输入字段的单词。
假设用户输入了一个字符串,我已经将单独的单词转换为一个数组,如下所示:
["custom", "string", "is"]
我知道想用数组中单词的突出显示版本替换句子中的单词。对于一个单词,我会这样做:
const word = 'custom';
const searchFor = new RegExp(`(${word})`, 'gi');
const replaceWith = '<strong class="highlight">$1</strong>';
const highlightedSentence = sentence.replace(searchFor, replaceWith);
如何将这个带有数组的逻辑应用于整个句子?
我不能简单地循环遍历它,因为字符串将包含我突出显示的类,这也将被带入第二个循环、第三个循环等的突出显示过程中。
这意味着如果用户在第二个循环中输入:
"high custom"
我会突出显示我突出显示的课程,从而导致突出显示 inception。
举个例子,我的意思是尝试注释/取消注释 2 个荧光笔功能:
【问题讨论】:
标签: javascript arrays string ecmascript-6