javascript - 如何在字符串中找到匹配单词的确切数量?
问题描述
对于一个项目,我编写了一个函数,其中包括以下内容:
var filtering_words = ['alpha', 'beta', 'gamma'];
//finding matching words
var prohibited_words = filtering_words;
for (var i = 0; i < prohibited_words.length; i++) {
if (value.indexOf(prohibited_words[i]) > -1) {
user_report['matching_words'].push(prohibited_words[i]);
user_report['matching_words_amount'] = user_report['matching_words'].length;
}
}
字符串:'alpha beta beta gamma'
现在我只得到所有匹配的单词。所以我的结果看起来像这样:['alpha'], ['beta'], ['gamma']
但我也想知道“filtering_word”在我的字符串中出现的频率。在这种情况下,我想知道实际上有 2 个测试版...
任何想法?
干杯
解决方案
此代码为您提供了“不必要的”字眼:
let arr = ['alpha', 'beta', 'gamma', 'beta'];
for(let i = 0;i < arr.length;i++){
for(let j = 0;j < arr.length;j++){
if(i !== j){
if(arr[i] === arr[j]){
let [sameWords] = arr.splice(i, 1)
console.log(sameWords)
}
}
}
}
推荐阅读
- c# - 错误 (CS0501):“Script_Instance.myComponents.oPoints()”必须声明一个主体,因为它没有标记为抽象、外部或部分(第 101 行)
- javascript - 如何在我的计算器中存储结果并查看以前的计算?
- php - 如何使用 preg_replace PHP 从文件中删除文本
- python - 当我尝试将 numpy 数组作为第一个参数传递时,poly 函数是否只接受列表作为其第一个参数,它显示错误
- sql - 如何以编程方式为增量为两周的过去和未来添加开始日期和结束日期?
- list - Flutter 将搜索数据传递给 SearchDelegate
- java - 这是 Kotlin 中的数据构造“或”枚举类型吗?
- sql - sp_send_dbmail 的问题
- list - 了解守卫功能和列表理解
- python-3.x - 将内容类型文本/HTML 从 API 转换为 JSON