javascript - 如何将字符串与单词数组进行比较并突出显示字符串中匹配的单词?

标签 javascript arrays string

我有这个问题,我有一个这样的单词数组

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/

相关文章:

javascript - 现代浏览器中 HTML 4 网站上的 LocalStorage?

javascript - 如何从响应数组数据设置数据对象

c++ - 解析 CFMutableDictionary 键

python - 将由字母和数字组成的字符串分成几部分

javascript - Html onmousedown 与 href 优先级

javascript - 静态类变量 ES6

PHP - 使用一组 ID 从数据库中删除许多项目

python - 在 csv 文件中的所有行组合中应用字符串匹配逻辑

c++ - Boost - 使用 TLV 编码序列化字符串

javascript - 通过 Ajax 成功回调更新可观察数组时启用绑定(bind)中断