Estoy creando una matriz de longitud N con el valor completo, estoy buscando si puedo mejorar la forma en que lo hago.
Obtengo un número aleatorio sobre la marcha para determinar el número de elementos de la matriz.
Lo que estoy haciendo es:
Por ejemplo, si el número es 5.
let array = []; for (let i = 1; i <= 5; i++) { array.push(`item0${i}`) }Ahora, la matriz será ['item01', 'item02, .... 'item05']
Esto parece bastante largo, ¿se puede hacer de una manera más corta?
Gracias
Simplemente use el nuevo Array Constructor .
const arr = new Array(5) Sin embargo, esto solo creará una matriz de longitud 5 sin ninguna entrada. Para usar métodos de matriz en la matriz, primero tendrá que llenar la matriz con valor o crear entradas de valor undefined usando la sintaxis extendida .
Si desea rellenar previamente la matriz:
function makeArray(n) { return (new Array(n)).fill().map((el,ind) => `item0${ind}`) } makeArray(5); O incluso proporcione una devolución de llamada como propiedad para que pueda cambiar el aspecto de los elementos precargados y usar la sintaxis extendida para evitar la llamada .fill() :
function makeArray(n, cb) { return [...new Array(n)].map((el,ind) => cb(ind)) } makeArray(5, (ind) => `item0${ind}`);