尝试获取数组平均值时未获得输出

时间:2018-12-03 17:39:03

标签: javascript

代码:

var Array = [];

leggtil.onclick = function leggtil() {

    const input = +document.getElementById('input').value;
    Array.push(input);
    console.log(Array);

}
function beregn(tabell) {

    var sum = tabell.reduce(add, 0);

    function add(a, b) {
        return a + b;
    }

    const gjenn =  (sum/tabell.length);
    console.log(gjenn);
    return gjenn;
}

beregn.onclick = function display() {

    console.log(beregn(Array));

}

我知道可以将其浓缩为一个函数,但是我想尝试一下使用参数。但是,当我运行display()时,什么也没有发生。我有误会吗? (另外,请保留最终参数完整的解决方案,以便我进一步了解它们的工作原理!)

1 个答案:

答案 0 :(得分:0)

function beregn(tabell) {

var sum = tabell.reduce(add, 0);

function add(a, b) {
    return a + b;
}

const gjenn =  (sum/tabell.length);
console.log(gjenn);
return gjenn;
}

beregn.onclick = function display() {

    console.log(beregn(Array));

}

在HTML中将“ beregn”用作对象的函数名称和ID会导致问题。更改了HTML和js中的元素ID,从而解决了该问题。 备用代码:

var Array = [];

leggtil.onclick = function leggtil() {

    const input = +document.getElementById('input').value;
    Array.push(input);
    console.log(Array);

}
function beregn(tabell) {

    var sum = tabell.reduce(add, 0);

    function add(a, b) {
        return a + b;
    }

    const gjenn =  (sum/tabell.length);
    console.log(gjenn);
    return gjenn;
}

display.onclick = function display() {

    console.log(beregn(Array));

}