我有这个问题,我有一个这样的单词数组
let words = ['prueba', 'etiquetas'];
和我的字符串
let Product = 'Prueba de etiquetas';
这个单词数组和字符串总是不同的,每个产品都包含自己的单词数组,我想知道这些单词中的哪些在字符串中并突出显示字符串中的这些单词,在这种情况下我想打印 product
变量,输出应该是:
Prueba de 礼仪
到目前为止我的代码是这样的
if (words.length) {
for (let x = 0; x < words.length; x++) {
if (product.toUpperCase().indexOf(words[x].toUpperCase()) !== -1) {
//Here I need to hightligh the words in the string
}
}
}
但我不知道如何在 product
变量中进行更改,有什么想法吗?难道我做错了什么?希望您能帮助我,谢谢。
最佳答案
这是一个没有正则表达式的解决方案:
let words = ['prueba', 'etiquetas'];
let product = 'Prueba de etiquetas';
words = words.map(function(word) { return word.toLowerCase(); });
product = product.split(' ').map(function(word) {
return words.indexOf(word.toLowerCase()) >= 0 ? '<b>'+word+'</b>' : word;
}).join(' ')
console.log(product);
关于javascript - 如何将字符串与单词数组进行比较并突出显示字符串中匹配的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46123744/