获取一个字符串并返回string-JavaScript中的字数
我正在处理CoderByte的一个问题。我对我的代码很好奇。第一个函数获取一个字符串并返回string-JavaScript中的字数,javascript,string,split,Javascript,String,Split,我正在处理CoderByte的一个问题。我对我的代码很好奇。第一个函数返回6,第二个函数返回4,这是正确的计数。我试图理解为什么会发生这种情况。与控制台日志newArr一样,它只显示4项 CoderByte的问题是:-使用JavaScript语言,让函数WordCount(str)获取要传递的str字符串参数并返回字数 字符串包含(即“永远不要吃小麦丝”将返回4)。单词将由单个空格分隔 var wordCount = function (str) { var newArr = str.s
返回6
,第二个函数返回4
,这是正确的计数。我试图理解为什么会发生这种情况。与控制台日志newArr
一样,它只显示4项
CoderByte的问题是:-使用JavaScript语言,让函数WordCount(str)获取要传递的str字符串参数并返回字数
字符串包含(即“永远不要吃小麦丝”将返回4)。单词将由单个空格分隔
var wordCount = function (str) {
var newArr = str.split(' ');
var total = 0;
for (var i = 0; i < newArr.length; i += 1) {
total += i;
}
return total;
};
因为你加的是i而不是1
total += i;
基本上你有
iteration 1 : total = total + 0 = 0 + 0 = 0
iteration 2 : total = total + 1 = 0 + 1 = 1
iteration 3 : total = total + 2 = 1 + 2 = 3
iteration 4 : total = total + 3 = 3 + 3 = 6
你的
总数=0+1+2+3=6我打字累了
iteration 1 : total = total + 0 = 0 + 0 = 0
iteration 2 : total = total + 1 = 0 + 1 = 1
iteration 3 : total = total + 2 = 1 + 2 = 3
iteration 4 : total = total + 3 = 3 + 3 = 6