2017-04-11 1 views
2

J'essaie d'imprimer le même texte répétitif encore et encore (\I[0]), mais avec le nombre à l'intérieur incrémentant de 1 à chaque fois (ex: \I[0] \I[1] \I[2] etc). Je l'ai déjà compris.Ajouter une nouvelle ligne dans la boucle JavaScript quand j'atteins des multiples d'un nombre

Mais ce que je veux faire est de faire en sorte que chaque fois que le texte est imprimé 15 fois, il va ajouter un saut de ligne. EX: Imprime 0 à 14. Ensuite, place une balise <br> et continue d'imprimer jusqu'à atteindre 29. Ensuite, ajoute une autre balise <br>.

Etc jusqu'à ce qu'il atteigne le nombre 527.

HTML:

<p id="number"></p> 

Javascript:

var text = ""; 
var i; 
for (i = 0; i < 528; i++) { 
    text += "\\I[" + i + "] "; 
} 
document.getElementById("number").innerHTML = text; 

Toutes les idées? Je vous remercie.

+0

Connaissez-vous mod ** **? 'i% 15'? –

Répondre

0

Vous pouvez utiliser une expression ternaire et ajouter soit une chaîne vide ou une pause.

var text = "", 
 
    i; 
 

 
for (i = 0; i < 528; i++) { 
 
    text += (i % 15 || !i ? '': '<br>') + "\\I[" + i + "] " ; 
 
} 
 

 
document.getElementById("number").innerHTML = text;
<p id="number"></p>

+0

Oui! Cela a fonctionné. Merci beaucoup. – sfor

1

Vous pouvez vérifier si le nombre est un facteur de 15 et utiliser l'opérateur modulo pour insérer une nouvelle ligne.

var text = ""; 
 
var i; 
 
var MAX = 528; 
 
for (i = 0; i < MAX; i++) { 
 
    text += "\\I[" + i + "] "; 
 
    
 
    if(i !==0 && ((i + 1 < MAX) && ((i + 1) % 15 === 0))) { 
 
     text += '<br>'; 
 
    } 
 
} 
 
document.getElementById("number").innerHTML = text;
<div id="number"> 
 
    
 
</div>

+0

La chose est, cela affichera les numéros 0 - 15. C'est 16 numéros sur la première ligne. Il y en a 15 sur les lignes suivantes, mais tout est fermé, car la première ligne contient trop de chiffres. Merci quand même. – sfor

+0

@sfor Vous pourriez modifier un peu la condition et obtenir le résultat attendu. Vérifiez la publication mise à jour. –

0

Si je bien compris votre question, vous pouvez utiliser un modulo (reste de la division) pour que:

var text = ""; 
var i; 
for (i = 0; i < 528; i++) { 
    text += "\\I[" + i + "] "; 
    if (i!=0 && i%15==0) 
     text+="<br/>"; 
} 
document.getElementById("number").innerHTML = text; 
0

 var text = ""; 
 
    var i; 
 
    var count = 0; 
 
    
 
    for (i = 0; i < 528; i++) { 
 
    text += "\\I[" + i + "] "; 
 
    count = count + 1; 
 
    if(count % 15 == 0) 
 
    { 
 
    text +="<br/>"; 
 
    }  
 
    } 
 

 
document.getElementById("number").innerHTML = text;
<p id="number"></p>