Javascript 包含从字符串中平均字长的函数?
这是我第一次接触JavaScript,我正在编写一个函数,该函数将输出以下内容: 字符串中的单个单词, 字符总数, 总字数, 空格计数, 最后是平均字长。 到目前为止,我已经完成了所有的方面,除了我正在努力的平均过程 我的代码:Javascript 包含从字符串中平均字长的函数?,javascript,function,for-loop,average,Javascript,Function,For Loop,Average,这是我第一次接触JavaScript,我正在编写一个函数,该函数将输出以下内容: 字符串中的单个单词, 字符总数, 总字数, 空格计数, 最后是平均字长。 到目前为止,我已经完成了所有的方面,除了我正在努力的平均过程 我的代码: var superCounter = function(x) { var charCount = x.length; var wordCount = x.split(" ").length; var whiteSpace = wordCount - 1;
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");
我知道我不知何故需要I的长度,但我尝试应用长度的每一种方法都不起作用
想法
谢谢大家! 您几乎成功了,只做了几处小改动,您的代码运行得很好 wordArray应声明如下:
var wordArray = x.split(" ");
然后需要将单词字符长度的总和更正为wordAvg
更改此项:
wordAvg += wordArray[i];
为此:
wordAvg += wordArray[i].length;
应该是
wordAvg += wordArray[i].length;
应该是这样的:
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; i++){
wordAvg += wordArray[i].length;
}
var avgLen = wordAvg / wordCount;
console.log(("Words: " + wordArray), "Character count: " + charCount, "Word count: " + wordCount, "Whitespace count: " + whiteSpace, "Word length average: " + avgLen);
};
superCounter("This function will analyze strings");
也许可以试试这样:
function jCounter(data) {
var strArr = data.split(' ');
var strChar = data.length;
var objStr = strArr.length;
var strSpaces = objStr - 1;
var numArr = [];
for (i=0; i<objStr; i++) {
numArr.push(strArr[i].length);
}
var sum = 0;
for (i=0; i<numArr.length; i++) {
sum = sum + numArr[i];
}
var avg = sum/objStr;
var strObj = {};
strObj.words = objStr;
strObj.chars = strChar;
strObj.avgLength = avg ;
strObj.spaces = strSpaces;
console.log(strObj);
}
jCounter("Coding is challenging");
我是一个数字。它没有长度。你是指数组中该元素的长度吗?你尝试了什么?你把字符串添加到一个数字中。说使用长度无效无助于任何人的诊断,具体发生了什么?您尝试了什么?更改此变量wordArray=[x.split];对于该变量,wordArray=x.split;变量,然后更改此wordAvg+=wordArray[i];对这个wordAvg+=wordArray[i].length;它是字符总数除以字数,如var avgLen=wordArray.join.length/wordCount->
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; i++){
wordAvg += wordArray[i].length;
}
var avgLen = wordAvg / wordCount;
console.log(("Words: " + wordArray), "Character count: " + charCount, "Word count: " + wordCount, "Whitespace count: " + whiteSpace, "Word length average: " + avgLen);
};
superCounter("This function will analyze strings");
function jCounter(data) {
var strArr = data.split(' ');
var strChar = data.length;
var objStr = strArr.length;
var strSpaces = objStr - 1;
var numArr = [];
for (i=0; i<objStr; i++) {
numArr.push(strArr[i].length);
}
var sum = 0;
for (i=0; i<numArr.length; i++) {
sum = sum + numArr[i];
}
var avg = sum/objStr;
var strObj = {};
strObj.words = objStr;
strObj.chars = strChar;
strObj.avgLength = avg ;
strObj.spaces = strSpaces;
console.log(strObj);
}
jCounter("Coding is challenging");