For-loop не работает, если количество не увеличивается

#javascript

#javascript

Вопрос:

Пытаюсь добиться i увеличения количества, потому что существует много маршрутов.

Оно начинается с 1. Считается только до 1

 let ln = resp.Rsult.details.length
let i = 0;
for (i = 1; i < ln; i  ) {
  console.log(i)
  let resp2 =  (resp.Result.details).find(x => x.key == 'InternetGatewayDevice.TraceRouteDiagnostics.RouteHops.'   i   '.HopErrorCode').value 
  console.log('HOPERROR ===> '   resp2)
  return resp2 
  

Комментарии:

1. return resp2 возвращает из текущей функции, не давая for еще одного шанса на цикл.

2. Не связано, но может быть удобно переработать код, чтобы его было легче читать, что-то вроде gist.github.com/davelnewton/ce4cf4c47ddd607302e1fd633b53479a

Ответ №1:

Не return resp2 внутри цикла for. Это разорвет цикл.

Ответ №2:

Вы выходите из цикла for с помощью команды return.

   return resp2
  

Комментарии:

1. Также из функции, а не только из цикла.

2. Правильно. Не указывал на это, потому что его проблема заключалась в том, почему цикл остановился на 1. Но вы абсолютно правы.