【发布时间】:2021-08-28 00:21:15
【问题描述】:
我试图过滤一个给定的数组,只输出一个新数组的平均值。但是,由于某种原因,数组的长度基于其他数据类型所在的原始数组的长度,尽管我指定长度基于newArr 数组。
有人可以帮忙吗?
const bills = [[], 4, 42, 9, "error"];
const calcAverage = function (arr) {
let sum = 0;
let avg;
for (let i = 0; i < arr.length; i++) {
if (typeof arr[i] === "number") {
sum = sum + arr[i];
avg = sum / arr.length
} else {
const newArr = arr.filter(arr => typeof arr[i] === "number");
for (let b = 0; b < newArr.length; b++) {
sum = sum + newArr[b];
avg = sum / newArr.length;
}
}
}
return avg;
}
console.log(calcAverage(bills));
【问题讨论】:
标签: javascript function for-loop methods filter