0

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?

2 Answers 2

3

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.

Sign up to request clarification or add additional context in comments.

1 Comment

This is a working solution, thank you.
1

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.

2 Comments

How can I accomplish this with 4 different amounts? say first it should be 25, then 10, and so on?
@imstupidpleasehelp I would suggest creating a function with two argument being the sum and the divider. Then, just replace "25" with your divider variable. You'll have to call this function for all your amounts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.