首页 > 解决方案 > 如何在字符串中找到匹配单词的确切数量?

问题描述

对于一个项目,我编写了一个函数,其中包括以下内容:

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 个测试版...

任何想法?

干杯

标签: javascript

解决方案


此代码为您提供了“不必要的”字眼:

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)   
              }    
           }    
       }       
   }

推荐阅读