2017-12-12 35 views
0

インターネット上で必要なものが見つからないか、正しい単語を使用していない可能性がありますが、ここに問題があります。文字列にキーワードの配列が含まれていないか確認してください

私は例文の文字列を持っています: 私はFooプログラムのドキュメントを見せてください。

そして、私のキーワードがあります:私は、文字列が3キーワード以上が含まれている場合、私の関数はexemple

のためのメッセージを返すことをしたい["bot","doc", "show", "Foo"]

私は約

var message = "Ok bot, show me the doc of the Foo program."; 
 
var keywords = ["bot","doc","show","foo"]; 
 
if(keywords.indexOf(message) >=3){ 
 
    console.log('ok I understand'); 
 
}
を考えています

しかし、動作しません。

誰かが私を助けてくれますか?

あなたは配列内のアイテムのインデックスを返しますindexOf機能を呼び出している

答えて

2

ありがとうございます。あなたのケースでは、論理的に間違っている配列キーワードの中でmessageをチェックしています

見つけたキーワードをArray#filterString#includesでフィルタリングし、その長さを確認できます。

var message = "Ok bot, show me the doc of the Foo program."; 
 
var keywords = ["bot","doc","show","foo"]; 
 

 
var keywordsFound = keywords.filter(item => message.includes(item)); 
 

 
if(keywordsFound.length >= 3) { 
 
    console.log('ok I understand'); 
 
}

+0

それはperfecly作品、ありがとうございました! – BarbeBleue

+0

これを含めるには、インクルードリンクを編集する必要があります。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes –

+0

@MikeCheelありがとう –

関連する問題