Quiero encontrar cuántos 25
pueden caber en un número ejemplo 100
debería devolver [25, 25, 25 ,25]
Por el momento tengo este código
let quarterAmount = parseInt(argument / 25) sum.push( 25 * quarterAmount )
Sin embargo, cuando devuelvo la variable de sum
, me dará [100]
en lugar de la matriz deseada de 25
. He probado muchas variaciones de mi código y siempre obtengo los mismos resultados.
sum.push( '25' * quarterAmount )
sum.push( [25 * quarterAmount] )
sum.push( [25] * quarterAmount )
Quiero poder agregar una cantidad quarterAmount
de [25]
a mi matriz, ¿cómo puedo lograr esto?
¿Algo como esto?
const howManyTimes = (a, b) => new Array(b/a).fill(a) console.log(howManyTimes(25, 100))
new Array(n)
crea una matriz con n
elementos, luego fill
establece todos los elementos en el mismo valor.
La solución ingenua sería hacer un bucle como este:
let quarterAmount = floor(argument / 25); sum = []; for (let i=0; i < quarterAmount; i++) { sum.push(25); }
Pero hay una manera más conveniente de lograr lo que quieres:
let quarterAmount = floor(argument / 25); sum = Array(quarterAmount).fill(25);
Aquí está la documentación relacionada (sobre Array.fill): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
En una nota al margen, creo que no deberías usar parseInt
, sino floor
, ceil
o round
. parseInt
bajará su valor, pero su intención no es analizar algo, es redondear/pisar/techar algo.