Показать сообщение отдельно
  #2 (permalink)  
Старый 08.06.2016, 04:03
Профессор
Отправить личное сообщение для Bond Посмотреть профиль Найти все сообщения от Bond
 
Регистрация: 16.06.2013
Сообщений: 172

amanai,
Потому что переменная j начинается не с нуля а со значение переменной i.
Задача вложенного цикла сделать количество итераций равное количеству букв в переменной myName.
К примеру первая итерация вложенного цикла будет на 30-й итерации цикла родителя то есть переменная i = 30(или 29, не важно). Из этого получается что переменная j тоже будет равна 30 соответственно это условие j < (myName.length + i) мы не сможем записать не добавив к нему переменную i потому что цикл по сути будет выглядеть так
for(var j = 30; j < 3; j++) {}

и он никогда не выполнится потому что j всегда будет больше 3. (За исключением случае когда "E" в переменной text будет в первых трех позициях, но все равно работа кода не будет корректной)
А если убрать +i тогда нам надо внутренний цикл записать так
for(var j = 0; j < myName.length; j++) { //Здесь пишем var j = 0
			hits.push(text[i+j]); // Все равно здесь надо значение i прибавлять
		}

Последний раз редактировалось Bond, 08.06.2016 в 04:16.
Ответить с цитированием