2015-01-26 27 views
0
var myArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]; 


for (var i = 1; i < 21; i++){ 
if (i%3 === 0 && i%5 === 0){ 
    console.log("FizzBuzz") 
} 
else if (i%3 === 0){ 
    console.log("Fizz") 
} 
else if (i%5 === 0){ 
    console.log("Buzz") 
} 
else { 
    console.log(i) 
}} 

您好!Javascript邏輯 - FOR循環如何知道自動訪問哪個陣列

此代碼是codecademy上的解決方案之一。我想知道FOR循環如何知道訪問'myArray'數組來找到'我'的值。我從來沒有在FOR循環中提到'myArray',但它知道。我很困惑,因爲如果我想要FOR循環來訪問另一個數組呢? FOR循環的邏輯是什麼?

非常感謝大家。

+1

我看不到陣列MYARRAY利用內幕你的循環... – 2015-01-26 22:41:58

+0

如果*是[代碼學院]的[逐字]解決方案,則可以找到其他網站。 – user2864740 2015-01-26 22:43:59

+0

@ user2864740,所有代碼都有錯誤。提交錯誤報告。 – zzzzBov 2015-01-26 22:59:19

回答

1

它不訪問陣列,它只是通過增加我模擬陣列。

如果您要將myArray更改爲[2,3,5,6,7,24,50](或不是容易計算的序列),則代碼將失敗。

更正確的解決辦法是:

var myArray = [/* numbers go here */]; 

myArray.forEach(function(i) { 
    if (i%3 === 0 && i%5 === 0) { 
     console.log("FizzBuzz"); 
    } else if (i%3 === 0) { 
     console.log("Fizz"); 
    } else if (i%5 === 0) { 
     console.log("Buzz"); 
    } else { 
     console.log(i); 
    } 
}); 
+0

太神奇了,非常感謝。這樣一個偉大的社區 – najjang 2015-01-26 22:49:48

4

它沒有。從未使用過myArray

+1

我不認爲應該回答。 OP是令人困惑的東西.... – 2015-01-26 22:42:58

0

刪除myArray,你會發現它仍然是一樣的。你正在做的是將i設置爲1,然後計數直到21.這會得到與遍歷有序數組數組相同的結果。

+0

循環從1到20 – micha 2015-01-26 22:45:19

+0

對,它會循環直到它撞上21. – Aweary 2015-01-26 22:46:10

+0

我們非常感謝你。 – najjang 2015-01-26 22:46:26

0

我想你以後在這裏:

var myArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]; 


for (var i = 1; i < 21; i++){ 
if (i%3 === 0 && i%5 === 0){ 
    console.log(myArray[i]+"is FizzBuzz") 
} 
else if (i%3 === 0){ 
    console.log(myArray[i]+"is Fizz") 
} 
else if (i%5 === 0){ 
    console.log(myArray[i]+"is Buzz") 
} 
else { 
    console.log(i) 
}} 
+0

非常感謝你。真的很感謝 – najjang 2015-01-26 22:49:31

+0

wrong :: myArray [i] === i + 1如果除以3就是嗡嗡聲,你寫4就是嗡嗡聲http://en.wikipedia.org/wiki/Fizz_buzz – micha 2015-01-26 22:53:52

0

它不訪問myArray的

for (var i = 1; i < 21; i++){ 
 
if (i%3 === 0 && i%5 === 0){ 
 
    document.write("FizzBuzz, "); 
 
} 
 
else if (i%3 === 0){ 
 
    document.write("Fizz, "); 
 
} 
 
else if (i%5 === 0){ 
 
    document.write("Buzz, "); 
 
} 
 
else { 
 
    document.write(i+", "); 
 
}}

http://en.wikipedia.org/wiki/Fizz_buzz