我正在学习循环挖掘数组 - 我想使用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])
答案 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);