I need to divide a number equally and push the values on the array. I'm using 100 as an example, but when I do it, it goes [28, 24, 24, 24], and I need it to be [25, 25, 25, 25]
const divide = () => {
var number = 100
var n = 4
var values = []
while(number > 0 && n > 0){
var a = Math.floor(number / n / 4) * 4
number -= a
n--
values.push(a)
}
console.log(values)
}
If I understand your question correctly:
const divide = (num = 100, n = 4) => new Array(n).fill(num / n);
The Math.floor() function returns the largest integer less than or equal to a given number, in your code this functions make the result incorrect
const divide = () => {
var number = 100
var n = 4
var values = []
for(int i=1;i<=4;i++){
values.push(a/4)
}
console.log(values)
}
Here is another version of doing it:
const divide = (num = 100, n = 4) => {
const f=Math.floor(num/n);
return [...Array(n)].map((_,i)=>i-n+1?f:num-i*f);
}
console.log(divide());
console.log(divide(100,3));