在JavaScript中查找混合数据类型数组中的平均值

假设我们有一个混合数据类型的数组,如下所示:

const arr = [1,2,3,4,5,"4","12","2",6,7,"4",3,"2"];

我们需要编写一个JavaScript函数,该函数接受一个这样的数组,并返回所有此类元素的平均值,这些元素是数字或可以部分或完全转换为数字。

字符串“ 3454fdf”未包含在问题数组中,但是如果不存在,我们将使用数字3454作为其对平均值的贡献。

示例

为此的代码将是-

const arr = [1,2,3,4,5,"4","12","2",6,7,"4",3,"2"];
const calculateAverage = arr => {
   let sum = 0, count = 0;
   for(let i = 0; i < arr.length; i++){
      const val = parseInt(arr[i]);
      if(val){
         sum += val;
         count++;
      };
   };
   return (sum / count);
};
console.log(calculateAverage(arr));

输出结果

控制台中的输出将是-

4.230769230769231