В настоящее время я пытаюсь ознакомиться с JavaScript через решение задач Project Euler. В следующем фрагменте я пытаюсь получить сумму всех чисел фибоначчи ниже 4.000.000.Состояние JavaScript оценивается как false?
var sum = 0;
var fibNums = [1, 2];
for (var i = 2; fibNums[i] < 4000000; i++) {
fibNums[i] = fibNums[i - 1] + fibNums[i - 2];
sum += fibNums[i] % 2 == 0 ? fibNums[i] : 0;
}
console.log(sum);
Моя проблема заключается в том, что fibNums[i] < 4000000
оценивается как ложное, даже при первом запуске. Как это происходит?
Нет 'fibNums [2]'. – Barmar
Почему в мире вопрос сохраняется? Я вижу небрежность в этом не замечательном вопросе. Кроме того, зная, что индекс начинается с '0', имеет место с момента C или C++. Я чувствую, что это абсолютная небрежность. –
@AkshayKhandelwal. Я знаю, что индексы начинаются с 0, я просто не знаком с javascript. Обычно я работаю с C#, что означает, что я действительно получаю исключение из диапазона для таких проблем. – mstorm