如何 innerHTML 以数组作为参数的函数?

How to innerHTML a function with array as parameter?

我正在学习遍历数组 - 我想使用 innerHTML 将 forEach 函数(在另一个以数组作为参数的函数内)中的 if else 语句的结果传递给 HTML (如果您知道我不介意的更好方法,则不必是 innerHTML )。它检查数字是否为偶数并且应该 return 真假。我的结果是未定义的,但在 console.log 中我可以看到循环正在运行。在底部我留下了 "What in here" 因为我不知道如何正确 select 它。

欢迎任何帮助,包括重建代码。

var myArray = function (nums) {

    var average = 0;
    var totalSum = 0;

    nums.forEach(function (value) {
        //returns total sum
        totalSum = totalSum + value;

        //return average
        average = totalSum / nums.length;

        //return true if at least one even if not false
        if (value % 2 === 0) {
            console.log(value + " true");
            return true;
        } else {
            console.log(value + " false");
            return false;
        };

    })

    console.log("Total sum: " + totalSum);
    console.log("Average: " + average);
    console.log("Max number: " + Math.max.apply(null, nums));
    //document.getElementById("array").innerHTML = /*What in here?!*/
};


myArray([1, 1, 1, 2])

一个简单的方法是使用 JSON.Stringify

document.getElementById("array").innerHTML = JSON.Stringify(nums);

只为偶数或奇数的出现取一个变量。

var myArray = function (nums) {
    var average = 0;
    var totalSum = 0;
    var hasEven = false; // flag if at least one value is even => true, otherwise false
    nums.forEach(function (value) {
        totalSum = totalSum + value;
        hasEven = hasEven || !(value % 2);
    });
    average = totalSum / nums.length; // just call it once
    console.log("Total sum: " + totalSum);
    console.log("Average: " + average);
    console.log("Max number: " + Math.max.apply(null, nums));
    console.log("Contains at least one even value: " + hasEven);
};
myArray([1, 1, 1, 2]);