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()內循環外?
在下一步我會定義不一樣有趣「黑名單」或詞「的,是的,我上午,是,......」
您可以嘗試僅保留'詞'作爲一個關鍵字,而出現'價值',那就是每個結果使用較少的內存空間。 –
核心評論問題不適合StackOverflow。這是http://codereview.stackexchange.com/。另外,大致表現爲「比A更快的性能問題?」很容易通過測量自己來回答。 – Tomalak
@Tomalak *代碼審查 – Ave