2014-01-09 56 views
-2

我正在處理來自CoderByte的一個問題。我很好奇我的代碼。第一個功能returns 6和第二個功能returns 4這是正確的計數。我試圖理解爲什麼會這樣。當我控制檯日誌newArr它只顯示4項。取一個字符串並返回字符串中的字數 - JavaScript

以下是CoderByte的問題: - 使用JavaScript語言,具有函數WordCount(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; 
}; 

///

wordCount('Never eat shredded wheat'); 

var wordCount = function (str) { 
    return str.split(' ').length; 
}; 
+2

你的'total' = 0 + 1 + 2 + 3 = 6 –

回答

7

因爲您要添加我而不是一個。

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

和迭代4? – putvande

+1

我累了打字 – epascarello

+0

好的電話,謝謝! – jstone

相關問題