javascript - 如何在客户端使用 Javascript 在脚本数组中查找关键字
问题描述
我正面临这个问题,我不知道解决它的正确方法。我有一组关键字,例如:
keywordArray = ["Javascript", "Python", "R", "Data Science", "Front-end", "Amazon Web Services", "Amazon DynamoDB"]
现在我需要在一个字符串数组中只找到一次出现并返回该出现。例如:
stringArray = ["I love learning JavaScript but I would also like to learn Data Science using R", "I don't buy at Amazon", "RnB Music"
]
在这个例子中,我需要返回一个包含Javascript
,Data Science
和的数组R
。如果我从 stringArray 中删除第一个字符串,那么它不应该返回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);
推荐阅读
- php - 如何解决 PHP 中的这个 OpenSSL“EVP_DecryptFinal_ex:bad decrypt”错误?
- javascript - Next.js SSG 是否支持动态数据?
- php - 在渲染视图之前使用 Laravel 抓取 TrusPilot
- postgresql - 生成 Postgres 转储并保存到另一台服务器
- apriori - 关联挖掘可以处理非线性关系吗?
- python - 在 if 和 if not 语句中使用多个条件(python)
- javascript - 为什么 Nestjs 在其实现中使用了这么多类?
- laravel - 选择正确的雄辩关系以找到在事件下注册的学生
- bash - 自动化 az 容器执行
- swift - 如果 Button 具有 buttonStyle,则 SwiftUI 键盘快捷键不起作用