The question here is relatively simple to get in your code, which is fine, but if you want it to be only 10 steps (as defined in the steps
variable), one of the following small changes is sufficient, which in my opinion has nothing to see with the indexes, that this is well defined:
max=30;
min=-20;
step=10;
arr_text_y=[];
var calc = max - min;
var div = calc / step;
var value = min + div; //não está a ser utilizado.
arr_text_y[0] = min;
for(var i = 1; i < step; i++) //Tirar o igual para ele só passar no ciclo 9 vezes, vai assim ignorar o último valor.
//Para retirar o primeiro em vez do último, poderá utilizar a variável que não está a ser utilizada assim: arr_text_y[0] = value;
{
var val = arr_text_y[i-1] + div;
var fixed = Math.round(val * 100) / 100;
arr_text_y[i] = fixed;
}
console.log(arr_text_y);
Or, for me the most correct would be:
max=30;
min=-20;
step=10;
arr_text_y=[];
var calc = max - min;
var div = calc / (step-1); //Para que sejam mesmo os valores entre os -20 e os 30 inclusive, em 10 passos.
var value = min + div; //não está a ser utilizado.
arr_text_y[0] = min;
for(var i = 1; i <= step; i++)
{
var val = arr_text_y[i-1] + div;
var fixed = Math.round(val * 100) / 100;
arr_text_y[i] = fixed;
}
console.log(arr_text_y);
This is due to a small mistake made by all of us unconsciously, that we forget that if we want to go from 1 to 10 in 10 steps, we have to take 9 steps, if we consider the least, our first number:
calc = max - min = 10 - 1 = 9
.