Maneira funcional de criar uma matriz de números
Como eu poderia escrever o código a seguir de forma mais funcional usando o ES6, sem nenhuma biblioteca de terceiros?
// 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
}
Gostaria de evitar o Array.push e, possivelmente, o loop for, mas não tenho certeza de como o conseguiria nessa situação.