涉及从字符串中平均字长的函数?

Cha*_*son 0 javascript for-loop average function

这是我第一次接触JavaScript,我正在编写一个输出以下内容的函数:

  • 字符串中的单个单词,
  • 字符总数,
  • 总字数,
  • 空白数,
  • 最后是平均字长.

到目前为止,我已经完成了所有方面,除非我在平均过程中苦苦挣扎.

我的代码:

var superCounter = function(x) {
  var charCount = x.length;
  var wordCount = x.split(" ").length;
  var whiteSpace = wordCount - 1; 
  var wordArray = [x.split(" ")];
  var wordAvg = 0;
  for (var i = 0; i < wordCount.length; i++){
    wordAvg += wordArray[i];
  }
  var avgLen = wordAvg / wordCount;
  console.log(("Words: " + wordArray[0]), "Character count: " + charCount, "Word count: " + wordCount, "Whitespace count: " + whiteSpace, "Word length average: " + avgLen);
};

superCounter("This function will analyze strings");
Run Code Online (Sandbox Code Playgroud)

除了平均之外,我喜欢它的一切.

输出:

"Words: This,function,will,analyze,strings"
"Character count: 34"
"Word count: 5"
"Whitespace count: 4"
"Word length average: 0"
Run Code Online (Sandbox Code Playgroud)

我知道我需要的长度i,但我试图应用的每一种方式都length没有用.

想法?

谢谢!

Ell*_* B. 5

你几乎拥有它,只需要几个小的改动,你的代码就可以运行得很好.

wordArray 应声明如下:

var wordArray = x.split(" ");
Run Code Online (Sandbox Code Playgroud)

然后你需要纠正单词字符长度的总和wordAvg.

改变这个:

wordAvg += wordArray[i];
Run Code Online (Sandbox Code Playgroud)

对此:

wordAvg += wordArray[i].length;
Run Code Online (Sandbox Code Playgroud)