Для цикла, повторяющего первую итерацию дважды - PullRequest
1 голос
/ 02 ноября 2011

У меня проблема с циклом javascript для.Я добавляю элементы массива, но по какой-то причине мой цикл добавляет первую запись дважды!Раньше здесь была похожая тема (/2676330/dlya-tsikla-povtoryaetsya-pervyi-tsikl-dvazhdy), но автор не вдавался в подробности своего решения, просто он «что-то глупо» сделал. Может кто-нибудь сказать мне, что я делаю глупо?

for(j=0;j<ARRAY.length;j++)
{TOTAL += ARRAY[j];}

Вывод используется в таблице HTML, и он отображается правильно, проблема заключается только в первой двойной записи!

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

2 голосов
/ 02 ноября 2011

var TOTAL = 0; for ( var j = 0, <strong><a href="https://developer.mozilla.org/en/A_re-introduction_to_JavaScript#Arrays" rel="nofollow">len = ARRAY.length</a></strong>; j < len; j++ ) { TOTAL += ARRAY[j]; }

MDN предлагает использовать переменную для хранения длины массива.Кроме того, проверьте свои скрипты с помощью JSLint .

1 голос
/ 02 ноября 2011

убедитесь, что вы объявляете с помощью var ...

Здесь тоже есть возможность отладки.

for(var j=0; j < ARRAY.length; j++) {
{
    TOTAL += ARRAY[j];
    //alert("The count of J is now " + j);
}
0 голосов
/ 03 ноября 2011

Спасибо за вашу помощь.Так как мой оригинальный подход зашел в тупик, я решил использовать функцию, чтобы добиться цели.Следующие работы:

Array.prototype.sum = function() {
for (var j = 0, L = this.length, sum = 0; j < L; sum += this[j++]);
return sum;
}

Затем я вызываю ARRAY.sum () при создании моей HTML-таблицы.

Я нашел вышеуказанное решение на http://www.codingforums.com/showthread.php?t=218803

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...