¿Cuál es la forma más rápida de crear una matriz desde el número 17 hasta el número 120?
[17,18,20,...,118,119,120]Traté de usar el método Array pero comienza con 0 y corta de algún resson corta los últimos números y no los primeros números.
export const ARR_OF_AGES = Array(121).fill().slice(16).map((x, i) => { return { value: i, label: i } })Lo siguiente debería funcionar.
Array.from({length: 120 - 17 + 1}, (_, i) => i + 17)Vea el ejemplo de trabajo a continuación:
const result = Array.from({length: 104}, (_, i) => i + 17) console.log(result)Si su matriz comienza con 17 y termina con 120, significa que tiene 104 elementos. Así que cambia 121 a 104 en tu código, y en lugar de dar el valor "i" a tus elementos, dales el valor "i+17". De esa manera, su i-ésimo elemento tendrá un valor i+17, lo que significa que su matriz comenzará desde 17
Como pediste "más rápido" y sugerí usar un bucle for en los comentarios anteriores, pensé que al menos te daría un ejemplo simple:
let ary = []; for (let i = 17; i <= 120; i++) { ary.push(i); }La ejecución de algunas pruebas de rendimiento simples muestra que este método es un orden de magnitud más rápido que el resultado que aceptó. Así que sí, rápido. Y fácil de entender.