簡體   English   中英

檢查字符串中是否有任何單詞在數組中

[英]Check if any word in string is in an array

我有一個巨大的清單(800個項目)和一個很長的字符串。 我想獲取數組中與字符串部分匹配並存儲在變量中的第一項。

我的代碼當前:

for (var i = 0; i<gigantic_genre_array.length; i++) {
  var test_genre = thelongstr.indexOf(gigantic_genre_array[i]);
  if(test_genre != -1) {
    tag1 = gigantic_genre_array[test_genre];
    alert(tag1);
  }
}

這不像我想的那樣有效,有什么建議嗎?

嘗試這個:

for(var i = 0; i<gigantic_genre_array.length; i++){
          var test_genre = thelongstr.indexOf(gigantic_genre_array[i]);
          if(test_genre!=-1){
            tag1 = gigantic_genre_array[i];
            alert(tag1);
          }
        }

反向執行該過程也將非常有效。

var wordArray = thelongstr.split(' ');

for(var i=0,len = wordArray.length; i < len; i++)
{
  if(gigantic_genre_array.indexOf(wordArray[i]) > -1)
   {
     alert(wordArray[i]);
   }
}

您可以基於數組創建RegExp並針對字符串進行測試:

var gigantic_genre_array=['foo','bar','foobar'];
var thelongstr='where is the next bar';

alert(new RegExp(gigantic_genre_array.join('|')).exec(thelongstr)||[null][0]);
//returns bar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM