Manera funcional de crear una matriz de números

¿Cómo podría escribir el siguiente código de manera más funcional usando ES6, sin bibliotecas de terceros?

// sample pager array
// * output up to 11 pages
// * the current page in the middle, if page > 5
// * don't include pager < 1 or pager > lastPage
// * Expected output using example:
//     [9,10,11,12,13,14,15,16,17,18,19]

const page = 14 // by example
const lastPage = 40 // by example
const pagerPages = page => {
  let newArray = []
  for (let i = page - 5; i <= page + 5; i++) {
    i >= 1 && i <= lastPage ? newArray.push(i) : null
  }
  return newArray
}

Me gustaría evitar Array.push, y posiblemente el bucle for, pero no estoy seguro de cómo lograrlo en esta situación.

Respuestas a la pregunta(3)

Su respuesta a la pregunta