Пытаюсь по времени менять цвет коробки. Я хочу вычислить следующий цвет с помощью счетчика и разделить его по модулю на количество цветов, которые у меня есть. С обычным числом это работает нормально, но если я использую Array.lenght, я получаю NaN в результате.
box = document.getElementById("box");
k = 0;
colors = ["purple", "green", "red", "orange", "yellow", "blue"];
setInterval(function() {
console.info(colors.length); // shows 6
box.style.backgroundColor = colors[k];
k++;
k = k % colors.lenght;
// k %= 6; works fine.
console.info(k); // shows NaN
}, 1000);
#box {
width: 100px;
height: 100px;
}
<div id = "box"></div>
Спасибо за вашу помощь.
lenght
должен быть length
Опечатка в k = k % colors.lenght;
»k = k % colors.length;
Вы только что создали Type, это должен быть length
, а не lenght
, надеюсь, вы его поняли.
Долгая перспектива, но может ли это быть просто орфографической ошибкой?
k = k % colors.lenght;
должно быть:
k = k % colors.length;
... все время случается со мной
Вот почему IDE имеют смысл;)
Слишком уж верно, хотя я иногда взламываю что-то в RPi или чьей-то другой системе, и, как правило, я начинаю с простого, простого vim или текстового редактора.
Это не совсем ответ на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав Задать вопрос. Вы также можете добавить награду, чтобы привлечь больше внимания к этому вопросу. - Из обзора
@MikeBoutin, вы просто нажали не ту кнопку во время обзора. Это делает ответ на вопрос. Скорее всего, вы увидели вопросительный знак, просматривая отзывы, и отреагировали так, как если бы это был вопрос, размещенный в качестве ответа. Чтобы этого не произошло, рекомендую на самом деле прочитал вопрос и ответ.
@AlexShesterov это тот же ответ, что и принятый, и он заканчивается на ...happens to me all the time
@MikeBoutin, да, но если вы наведете курсор на «отвечено XX часов назад», вы увидите, что этот был опубликован в 19:11:28 UTC - на 3 минуты раньше принятого. За Великую Справедливость ...
У вас colors.lenght
, а не colors.length
.
В вашем коде есть орфографическая ошибка. k = k % colors.lenght;
должен быть k = k % colors.length;
.
length
! =lenght
.