Показать сообщение отдельно
  #3 (permalink)  
Старый 09.06.2016, 00:09
Новичок на форуме
Отправить личное сообщение для amanai Посмотреть профиль Найти все сообщения от amanai
 
Регистрация: 08.06.2016
Сообщений: 4

а откуда взялось число 30?

Сообщение от Bond Посмотреть сообщение
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 прибавлять
		}
Ответить с цитированием