1
私はどの単語が最もコメントに出現するかを見るアルゴリズムを構築しようとしています。文字列中の単語の出現数をカウントするアルゴリズム
は、したがって、私は(JavaScriptで)この思い付いた:
var analyze = function(comments){
var detectedWords = [];
var result = {};
comments.forEach(function(comment){
var words = comment.message.split(" ");
words.forEach(function(word){
word = word.toLowerCase();
if(word !== ""){
if(detectedWords.indexOf(word) === -1){
detectedWords.push(word);
result[detectedWords.indexOf(word)] = {"name":word,"count":1};
}else{
result[detectedWords.indexOf(word)].count++;
}
}
});
});
return _.orderBy(result, ['count'], ['desc']);
}
アルゴリズムをさらに最適化することができますか? (toLowerCaseメソッド()内部ループの外?
次のステップで、私は「です...、である、I、午前」
あなただけ維持しようとすることができます'word'をキーとし、' value'としての出現、thats結果ごとに少ないメモリスペースを使用します。 –
コアレビューの質問は、StackOverflowには適していません。そのためにhttp://codereview.stackexchange.com/があります。また、「Bよりも速いですか?あなた自身を測定することによって簡単に答えられます。 – Tomalak
@Tomalak *コードレビュー – Ave