Mahlzeit allerseits,
Folgende Funktion (+ Hilfsfunktion) habe ich soeben zusammen gekritzelt.
Firebug spuckt mir hierzu keine Fehler mehr aus.
Blöderweise hängt Firefox sich bei der Ausführung auf, sodass das Skript gestoppt werden muss.
Siehr hier einer nen logischen Fehler?
Was das Skript im groben tut:
1. textContent aus div-Element auslesen, sofern vorhanden
2. Alle numerischen Werte extrahieren und zu einem String onlyNumbers zusammenbasteln
3. Aus diesem String via Hilfsfunktion nur die ersten beiden Werte extrahieren und zu Int-Wert parsen
4. Diesen int-Wert in ein Array defAdder stopfen
5. das ganze 6 mal wiederholen
6. alle Werte im Array defAdder summieren und anschließend nochmal durch die Anzahl Element im Array teilen um das arithmetische Mittel zu berechnen.
Code:
function calcStrength() {
var defAdder = new Array();
var defStrength = 0;
var onlyNumbers = "";
for (var i = 1; i <= 6; i++) {
if (document.getElementById('def' + i).textContent) {
var content = document.getElementById('def' + i).textContent;
for (var j = 0; j < content.length; j++) {
if (content[j] == /\d/) {
onlyNumbers += content[j];
}
}
defAdder += extract(onlyNumbers, 0, 1);
}
}
for (var k = 0; k < defAdder.length; i++) {
defStrength += defAdder[k];
}
defStrength = (defStrength / defAdder.length);
alert(defStrength);
// document.getElementById('strengthges').textContent = defStrength;
}
function extract(string, startPos, endPos) {
var extr = string;
var parsedNumber = parseInt(extr.slice(startPos, endPos));
return parsedNumber;
}