I want to find how many 25
can fit into a number example 100
should return [25, 25, 25 ,25]
At the moment I have this code
let quarterAmount = parseInt(argument / 25)
sum.push( 25 * quarterAmount )
However when I return the sum
variable it will give me [100]
instead of the desired array of 25
.
I have tried many variations of my code and I always get the same results
sum.push( '25' * quarterAmount )
sum.push( [25 * quarterAmount] )
sum.push( [25] * quarterAmount )
I want to be able to add quarterAmount
amount of [25]
to my array, how can I acomplish this?
Something like this?
const howManyTimes = (a, b) => new Array(b/a).fill(a)
console.log(howManyTimes(25, 100))
new Array(n)
creates an array with n
items, then fill
sets all the items to the same value.
The naive solution would be to make a loop like this:
let quarterAmount = floor(argument / 25);
sum = [];
for (let i=0; i < quarterAmount; i++) {
sum.push(25);
}
But there's a more convenient way of achieving what you want:
let quarterAmount = floor(argument / 25);
sum = Array(quarterAmount).fill(25);
Here is the related documentation (about Array.fill): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
On a side note, I think you shouldn't use parseInt
, but rather floor
, ceil
or round
. parseInt
will floor your value, but your intent is not to parse something, it is to round/floor/ceil something.