2017-09-09 4 views
-2

Ich nehme an CoderCamps teil und ich bin in Woche 2. Mein letztes Projekt ist es, eine Webanwendung mit HTML und Javascript zu erstellen, die es dem Benutzer erlaubt, eine Passage innerhalb einer Textfläche einzugeben und dann die durchschnittlichen Wörter pro Satz anzuzeigen Wörter, Leerzeichen und Sätze auf der Webseite.Wie werden zwei Variablen in Javascript gemittelt?

Ich habe alles richtig funktioniert, außer ich kann nicht scheinen, um den Durchschnitt zu summieren ... Jede Hilfe wäre sehr willkommen.

Vielen Dank.

Hier ist mein Code so weit.

var button = document.getElementById("button"); 
var text = document.getElementById("textarea"); 
var totalSpaces = 0; 
var totalWords = 0; 
var avgWords = 0; 
var totalSentences = 0; 


button.addEventListener("click", function(){ 
    var text = document.getElementById("textarea").value; 
    text.length 

    for (var i =0; i<text.length; i++){ 
     if(text[i] == " "){ 
      totalSpaces++; 
     } 
     if(text[i] == "."){ 
      totalSentences++; 
     } 
     if(text[i] == "?"){ 
      totalSentences++; 
     } 
     if(text[i] == "!"){ 
      totalSentences++; 
     } 

    } 



    document.getElementById("avg").innerHTML = totalWords/totalSentences; 
    document.getElementById("words").innerHTML = totalWords = totalSpaces +1; 
    document.getElementById("sentences").innerHTML = totalSentences; 
    document.getElementById("spaces").innerHTML = totalSpaces; 

    totalSpaces = 0; 
    totalWords = 0; 
    avgWords = 0; 
    totalSentences = 0; 
}); 
+0

Sie den Wert totalWords lesen, bevor es zu 'totalSpaces + 1 'zu setzen. –

+0

Sie berechnen den Durchschnitt, bevor Sie 'totalWords' einen Wert zuweisen, dessen 0 zur Zeit – tima

+0

. Schlagen Sie vor, dass ich eine separate Funktion zur Berechnung erstelle? –

Antwort

0

var button = document.getElementById("button"); 
 
var text = document.getElementById("textarea"); 
 
var totalSpaces = 0; 
 
var totalWords = 0; 
 
var avgWords = 0; 
 
var totalSentences = 0; 
 

 

 
button.addEventListener("click", function(){ 
 
    var text = document.getElementById("textarea").value; 
 

 

 
    for (var i =0; i<text.length; i++){ 
 
     if(text[i] == " "){ 
 
      totalSpaces++; 
 
     } 
 
     if(text[i] == "."){ 
 
      totalSentences++; 
 
     } 
 
     if(text[i] == "?"){ 
 
      totalSentences++; 
 
     } 
 
     if(text[i] == "!"){ 
 
      totalSentences++; 
 
     } 
 

 
    } 
 
    totalWords = totalSpaces; 
 

 

 
    document.getElementById("avg").innerHTML = totalWords/totalSentences; 
 
    document.getElementById("words").innerHTML = totalWords; 
 
    document.getElementById("sentences").innerHTML = totalSentences; 
 
    document.getElementById("spaces").innerHTML = totalSpaces; 
 

 
    totalSpaces = 0; 
 
    totalWords = 0; 
 
    avgWords = 0; 
 
    totalSentences = 0; 
 
});

+0

Wie ich die Gesamtzahl der Wörter berechnet habe wurde ich jeden Platz genommen und hinzugefügt 1. Was ich jetzt zu tun versuche, ist die Summe der Wörter und Gesamtsätze zu nehmen und zu teilen sie, um einen Durchschnitt von Wörtern pro Satz zu erhalten. Außerdem darf ich .split() nicht verwenden. Ich sollte erwähnt haben, dass –

+0

dann einfach die totalSpaces totalWords zuweisen, wie oben. – GavinLuo

+0

und das hat funktioniert lol, wow ... na Danke! Ich bin zu viel Noob, aber lol, aber immer noch Spaß, frustriert zu sein lol. –

Verwandte Themen