Вы должны минимизировать количество процессов, как показано ниже:
1 - Удалите определение переменной в свой цикл for
.Вам не нужно устанавливать его в каждом цикле.Просто установите его один раз перед циклом.
С
for(j=0; j<3; j++)
{
var min=0;
var max=20;
var randomNumber = Math.floor(Math.random() * (+max - +min)) + +min;
arrGenLetters[j] = arrLetters[randomNumber];
}
До
var min=0;
var max=20;
for(j=0; j<3; j++)
{
var randomNumber = Math.floor(Math.random() * (+max - +min)) + +min;
arrGenLetters[j] = arrLetters[randomNumber];
}
2 - Удалите дублированный цикл, когда нет причин делать это.Для этого создайте 2 max
переменных.
С
//Generate 3 random letters & add to array.
for(j=0; j<3; j++)
{
var min=0;
var max=20;
var randomNumber = Math.floor(Math.random() * (+max - +min)) + +min;
arrGenLetters[j] = arrLetters[randomNumber];
}
//Generate 3 random numbers & add to array.
for(i=0; i<3; i++)
{
var min=0;
var max=9;
var randomNumber2 = Math.floor(Math.random() * (+max - +min)) + +min;
arrGenNumbers[i] = randomNumber2;
}
//Generate the random province code.
var min=0;
var max=9;
К
//Generate 3 random letters & add to array.
var min = 0, max = 9, max2 = 20;
for(j=0; j<3; j++)
{
var randomNumber = Math.floor(Math.random() * (+max2 - +min)) + +min;
arrGenLetters[j] = arrLetters[randomNumber];
var randomNumber2 = Math.floor(Math.random() * (+max - +min)) + +min;
arrGenNumbers[j] = randomNumber2;
}
3 - используйте if
и else if
вместо нескольких if
.Он остановится, когда условие будет выполнено, вместо этого, чтобы продолжить проверять все остальные условия на данный момент.Вы можете рассмотреть switch
, а также много if
.
От
if(GenProvCode == "CA")
{
++countCA
}
if(GenProvCode == "ZN")
{
++countZN
}
if(GenProvCode == "MP")
{
++countMP
}
if(GenProvCode == "EC")
{
++countEC
}
if(GenProvCode == "L")
{
++countL
}
if(GenProvCode == "GP")
{
++countGP
}
if(GenProvCode == "NC")
{
++countNC
}
if(GenProvCode == "FS")
{
++countFS
}
if(GenProvCode == "NW")
{
++countNW
}
До
if(GenProvCode == "CA")
{
++countCA
}
else if(GenProvCode == "ZN")
{
++countZN
}
else if(GenProvCode == "MP")
{
++countMP
}
else if(GenProvCode == "EC")
{
++countEC
}
else if(GenProvCode == "L")
{
++countL
}
else if(GenProvCode == "GP")
{
++countGP
}
else if(GenProvCode == "NC")
{
++countNC
}
else if(GenProvCode == "FS")
{
++countFS
}
else if(GenProvCode == "NW")
{
++countNW
}
4 - Объединение 1000000
Сначала значения, а затем введите его.В противном случае процесс будет слишком тяжелым.
С
for(v=0; v<1000000; v++)
{
document.OutputForm.GeneratedPlates.value += arrGenNumberPlates[v]+ "\n";
}
До
myValue = '';
for(v=0; v<1000000; v++)
{
myValue += arrGenNumberPlates[v]+ "\n";
}
document.OutputForm.GeneratedPlates.value += myValue;
Надеюсь, он будет оптимизирован по вашему желанию, в противном случае, пожалуйста, дайте мне знать,есть масса решений, чтобы продолжать увеличивать скорость.Дайте мне знать, если у вас есть комментарии, отзывы или вопросы, пожалуйста.