2017-12-12 7 views
-1

私はそれを説明する方法がわかりませんし、インターネット上で私が欲しいものが見つからないので可能かどうかわかりません。 exempleについてはキーワードでJSONファイルに最もよく一致するものを見つけてください

私は、コマンドのこのJSON

{ 
 
    "gif": [ 
 
     "gif","show","bot" 
 
    ], 
 
    "doc": [ 
 
     "show","doc","bot" 
 
    ], 
 
    "weather": [ 
 
     "show","actual","weather" 
 
    ] 
 
}

とユーザーにこのメッセージを入力してくださいがあります

は "こんにちはボットは、あなたは私の実際の天気を表示することができますか?"

私のコードでは、ユーザーのメッセージに一致するキーワードと一致するコマンド(この場合は「weather」)が返されます。

は私の質問は、ビットクリアリー

はあなたがあなたのJSONを反復処理するObject.keysを使用して、string#includesを使用して、文字列の中で、あなたの配列の各単語の存在を確認するためにarray#everyを使用することができますあなたの

答えて

1

をありがとうございました願っています。

var keyWords = { "gif": [ "gif","show","bot" ], "doc": [ "show","doc","bot" ], "weather": [ "show","actual","weather" ] }; 
 
var message = "Hi bot can you show me the actual weather ?"; 
 

 
var result = Object.keys(keyWords).find(k => 
 
    keyWords[k].every(word => message.includes(word))); 
 

 
console.log(result);

+0

それは完全にどうもありがとうございました作品です! – BarbeBleue

+0

ちょうど別の質問、もしそれが一致するようにするにはどうすればいいですか? – BarbeBleue

+0

Everyはあなたのキーワードの中のすべての単語を比較し、あなたの文字列のすべてを見つけたら結果だけを返します。 –

関連する問題