Find the average of all elements of array except the largest and smallest - JavaScript


We are required to write a JavaScript function that takes in an array of Number and returns the averages of its elements excluding the smallest and largest Number.

Let’s write the code for this function −

Following is the code −

const arr = [1, 4, 5, 3, 5, 6, 12, 5, 65, 3, 2, 65, 9];
const findExcludedAverage = arr => {
   const creds = arr.reduce((acc, val) => {
      let { min, max, sum } = acc;
      sum += val;
      if(val > max){
         max = val;
      };
      if(val < min){
         min = val;
      };
      return { min, max, sum };
   }, {
      min: Infinity,
      max: -Infinity,
      sum: 0
   });
   const { max, min, sum } = creds;
   return (sum - min - max) / (arr.length / 2);
};
console.log(findExcludedAverage(arr));

Output

Following is the output in the console −

18.307692307692307

Updated on: 14-Sep-2020

252 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements