如何使用数组作为参数innerHTML函数?

时间:2015-06-22 10:39:04

标签: javascript arrays loops foreach innerhtml

我正在学习循环挖掘数组 - 我想使用innerHTML将forEach函数中的if else语句的结果(使用数组作为参数的另一个函数内部)传递给HTML(如果你更了解,则不必是innerHTML方法我不介意)。它检查数字是否均匀,并且应该返回true和false。我的结果是未定义的,但在console.log中,我可以看到循环正在运行。在底部,我留下了“这里有什么”,因为我不知道如何正确选择它。

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

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])

2 个答案:

答案 0 :(得分:0)

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

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]);

答案 1 :(得分:-1)

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

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