2
我遇到了一段代碼,我試圖弄清楚,代碼基本上存儲了一個單詞出現在文本文檔中的時間量的發生,所以函數countWordsWordsIntext需要在所需的文本並顯示文字和發生在文本的數量, 如 會:3 但:5 非常6使用對象的Javascript三元運算符
一邊看着計數文本的話,我找不出如何功能有條件的十進制操作應該是有效的。一種解釋將是非常讚賞
var wordCounts = {};
function countWordsInText(text) {
var words = text.toString()
.toLowerCase()
.split(/\W+)
.sort();
for(var index in words) {
var word = words[index];
if(word) {
wordCounts[word] =
(wordCounts[word]) ? wordCounts[word] + 1 : 1;
}
}
}
function display()
{
for (var index in wordCounts)
console.log(index + ': ' + wordCounts[index]);
}
我不明白wordCounts[word]
對象屬性如何更新。
此代碼? 'wordCounts [word] = ....'也許換行符讓你感到困惑。如果wordCounts [word]存在,則增加它,否則將其設置爲1(因爲它是一個新條目)。它不是一個數組,它是一個可以使用字典/數組類型語法訪問成員的對象。 – 2014-11-24 20:14:20