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