2016-10-28 7 views
3

Ich habe SO seit einiger Zeit gesucht, seit ich einen Programmierkurs besucht habe, und habe festgestellt, dass es eine großartige Community und ein großartiger Ort für Wissen ist.Ersetzen, mit <br>

Momentan stecke ich mit einer JavaScript-Funktion fest, die ich versuche aufzuräumen.

Ich brauche Namen in ein Array eingegeben werden, und wenn ich dann eine 'Start' Funktion ausführen, würde es die Anzahl der Namen als eine Zahl anzeigen, und zeigen Sie dann jeden Namen in einer neuen Zeile.

Ich habe es geschafft zu arbeiten, aber es gibt ein ',' Zeichen am Anfang jeder Zeile. Ich habe verschiedene Möglichkeiten ausprobiert, um es zu umgehen (mit Ersetzen und Teilen + Join), hatte aber bisher kein Glück.

var arrName = []; 
var custName; 

function start(){ 
    var totalName = 0; 
    var count = 0; 

    document.getElementById("output").innerHTML = " "; 

    while(count < arrName.length){ 
     totalName++; 
     count++; 
    }; 
    document.getElementById("output").innerHTML = "The total names in the array are: " + totalName + "<br />" + arrName; 
} 

function addName(){ 
    custName = document.getElementById("custname").value; 

    if(!custName){ 
     alert("Empty Name!"); 
    } 
    else{ 
     arrName.push(custName + "<br>"); 
     return custName;} 
} 
+2

In 'document.getElementById (" Ausgabe "). InnerHTML =" Die Gesamtzahl der Namen im Array lautet: "+ totalName +"
"+ arrName;' Sie setzen ein Array in das DOM ('arrName'). Da das Array mit einem String versehen ist, wird ',' zwischen jedem der Elemente hinzugefügt. Ändern Sie 'arrName' in' arrName.join ("
") 'und dann können Sie'
'aus' arrName.push (custName + "
"); 'entfernen – eithed

Antwort

0

Der Grund dafür ist wahrscheinlich, weil Sie versuchen, arrName anzuzeigen, die ein Array mit diesem Code ist: document.getElementById("output").innerHTML = "The total names in the array are: " + totalName + "<br />" + arrName; Hier ist, was ich vorschlagen würde:

 var arrName = []; 
     var custName; 

     function start(){ 
      var totalName = 0; 
      var count = 0; 

      document.getElementById("output").innerHTML = " "; 

      while(count < arrName.length){ 
       totalName++; 
       count++; 
      } 
      var strOutput = "The total names in the array are: "; 
      strOutput  += totalName + "<br />" + arrName.join("<br />"); 
      document.getElementById("output").innerHTML = " "; 
      document.getElementById("output").innerHTML = strOutput; 
     } 

     function addName(){ 
      custName = document.getElementById("custname").value; 

      if(!custName){ 
       alert("Empty Name!"); 
      } 
      else{ 
       arrName.push(custName); 
       return custName;} 
     } 

Seit es gibt keine Notwendigkeit für die WHILE-Schleife, Sie können es wie folgt überspringen:

0

Ein Array, wenn Konsole angemeldet oder DOM eingefügt direkt als item1,item2,item3,item4

einfach so dargestellt werden, arrName.join("<br />")

Auch Ihre while Schleife einfach durch

totalName = arrName.length; count = arrName.length

ersetzt werden
Verwandte Themen