Como resolver?

O ponto chave nesse desafio é trabalhar com uma quantidade qualquer de números, sejam 3 ou 3000. Para isso podemos usar arrays, assim ao chamar a função temos a liberdade de passar quantos números quisermos e isso será tratado corretamente dentro dela.

Resolução rápida

function average(numbers) {  let sum = 0

  numbers.forEach(number => {
    sum += num
  })

  const avg = sum / numbers.length

  return avg
}

Refatorando

Podemos aproveitar a função .reduce do próprio javascript:

function average(numbers) {
  const sum = numbers.reduce((accum, num) => accum + num, 0)
  const avg = sum / numbers.length
  return avg
}

Também podemos utilizar operador spread para que os parâmetros não precisem ser passados como um array:

function average(...numbers) {
  const sum = numbers.reduce((accum, num) => accum + num, 0)
  const avg = sum / numbers.length
  return avg
}

Por fim, podemos remover declarações de variáveis desnecessárias e realizar o retorno direto da operação matemática:

function average(...numbers) {
  return numbers.reduce((accum, num) => accum + num, 0) / numbers.length
}