Извлечение из текста определённых символов. Вычисление среднего арифметического из полученных чисел.

Рейтинг: 0Ответов: 1Опубликовано: 17.02.2015

Здравствуйте. У меня есть функция Javascript. Она вычисляет среднее арифметическое чисел. Но для того, чтобы ей это сделать, нужно убрать символы "н" и "-", которые могут содержаться в тексте. Но функция не работает... Можете подсказать, что я делаю не так?

setInterval(function mid() {
    var replace = "н-";
    var trA = document.getElementById("1.marks");
    var spA = trA.getElementsByTagName("span");
    var newTxt = spA.map(function() {
        if (replace.indexOf(spA) != -1) {
            return;
        }
        return spA;
    });
    t = 0;
    for (i=0;i<spA.length;i++) {
        t += parseInt(spA[i].innerText,10);
    }
    var midA = t/spA.length;
    var numA = Number((midA).toFixed(2));
    if (numA>0) {
        document.getElementById("1.b").innerText = numA.toFixed(2);
    }
}, 1);

Ответы

▲ 1

Пример в песочнице.

function mid() {
    var d = document,
        spans = d.querySelectorAll('#marks span'),
        output = d.querySelector('#b1'),
        sum = 0,
        avg = 0;
    [].forEach.call(spans, function (el) {
        sum += +el.textContent.replace(/[^\d]+/, '');
    });
    avg = sum / spans.length;
    if (avg > 0) output.textContent = 'Среднее арифметическое: ' + avg.toFixed(2);
    return false;
}