2016-04-22 16 views
0

問題如下:我試圖製作一段代碼,它將打印一個數組的所有元素,直到達到一個高於30的數字可以說。當它達到那個數字時,代碼應該從新行開始。 例如,我有數組:當數組達到一個高於x的數字時,換一個新行

[5, 34, 8, 31, 7, 5, 4, 39, 9, 10, 11, 32, 14]; 

當代碼完成後,它應打印是這樣的:

5, 34 
8, 31 
7, 5, 4, 39 
9, 10, 11, 32 
14  

所有我已經能夠到目前爲止做的是:

var array1 = [5, 34, 8, 31, 7, 5, 4, 39, 9, 10, 11, 32, 14]; 
for (i = 0; i < array1.length; i++){ 

} 

我不知道如何繼續從這裏。我嘗試了不同的東西,通過我的想法,但沒有奏效。有人可以解釋嗎?我不是爲了解決這個問題,而是爲了解釋。

謝謝。

+0

你在用什麼語言? –

+0

循環內有一個'counter'變量和一個'if',一旦計數器爲30的倍數,將以僞代碼開始一個新行:'if(counter%30 == 0)print「\ n」;'。 –

+0

@Nate Anderson javascript。遺憾忘記提及這 – user3477993

回答

1

假設你正在寫控制檯:

var array1 = [5, 34, 8, 31, 7, 5, 4, 39, 9, 10, 11, 32, 14]; 

var value = ''; 
for (var i = 0; i < array1.length; i++) { 
    var number = array1[i]; 
    value += value.length > 0 ? ',' + number : number; 
    if (number > 30) { 
     console.log(value); 
     value = ''; 
    } 
} 
console.log(value); 

這將打印到控制檯這個結果:

5,34 
8,31 
7,5,4,39 
9,10,11,32 
14 

value被附加到循環的每個迭代中。如果當前編號超過30,則將value寫入控制檯。在value寫入控制檯後,它被清除。

+0

打印錯誤。應該在第一行打印:5,34 |第二行:8,31 |第三行:7,5,4,39等。 – user3477993

+0

編輯以反映所需結果 –

0

我想這是你想要什麼:

function printArray(arr){ 
      for(var i =0;i<arr.length;i++){ 
      if(arr[i] > 30){ 
       console.log('\n'); 
      } 
      console.log(arr[i]); 
     } 

     printArray([5, 34, 8, 31, 7, 5, 4, 39, 9, 10, 11, 32, 14]); 
相關問題