如何使用 Javascript 在客户端的脚本数组中查找关键字

How to find keywords in arrays of scripts using Javascript hopefully client-side

我正面临这个问题,但我不知道解决它的正确方法。我有一组关键字,例如:

keywordArray = ["Javascript", "Python", "R", "Data Science", "Front-end", "Amazon Web Services", "Amazon DynamoDB"]

现在我需要在字符串数组中找到一次出现,return 那次出现。例如:

stringArray = ["I love learning JavaScript but I would also like to learn Data Science using R", "I don't buy at Amazon", "RnB Music"]

在这个例子中,我需要 return 一个包含 JavascriptData ScienceR 的数组。如果我从 stringArray 中删除第一个字符串,那么它不应该 return R(我认为它可能会在“RnB Music”中找到)。

我想在客户端执行此操作,但我尝试了 indexOf()contains() 等,但无法正常工作。

那么,我可以在客户端进行吗?如果答案是肯定的,那我该怎么做?如果没有,那么是否可以在 NodeJS 上进行?我应该为此使用云服务吗?

我目前正在使用 Angular、Express、NodeJS 和 MongoDB Atlas,它们具有全文搜索服务并且运行良好。我可能会尝试在那里做,但我不知道它是否具有成本效益。

好的,你有了第一个数组:

const keywordArray = ["JavaScript", "Python", " R", "Data Science", "Front-end", "Amazon Web Services", "Amazon DynamoDB"]; 

第二个是字符串列表

const stringArray = ["I love learning JavaScript but I would also like to learn Data Science using R", "I don't buy at Amazon", "RnB Music"];

因此您需要遍历两个数组并使用 includes() 方法进行检查。

像这样:

const keywordArray = ["JavaScript", "Python", " R", "Data Science", "Front-end", "Amazon Web Services", "Amazon DynamoDB"];
    
    const stringArray = ["I love learning JavaScript but I would also like to learn Data Science using R", "I don't buy at Amazon", "RnB Music"];
    
    const result_array = [];
    
    for (let i = 0; i < stringArray.length; i++)
    {
      for (let d = 0; d < keywordArray.length; d++)
      {
          if (stringArray[i].includes(keywordArray[d]))
          {
            result_array.push(keywordArray[d]);
          }
              
      }
    }
    
    console.log(result_array);