Я натолкнулся на кусок кода, который я пытаюсь выяснить, код в основном сохраняет время, в течение которого слово появляется в текстовом документе, поэтому функция countWordsIntext занимает в желаемый текст и отображает слово и количество появления в тексте, например бы: 3 но: 5 очень: 6Javascript тернарный оператор с объектом
, глядя на функцию, которая подсчитывает слово в тексте я не могу понять, как предполагается, что будет работать условная операция. Объяснение было бы очень признателен
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 (потому что это новая запись). И это не массив, это объект, к которому члены могут получить доступ, используя синтаксис типа словаря/массива. –