SecurityYourFingers
@SecurityYourFingers
I make other things, but i know that without your

Как остановить этот цикл?

Ссылка на codepen

Этот цикл выведет элементы массива(образно говоря, '101','1500','hello' - объект) в виде объектов,
но дальше идут пустые "объекты", как модифицировать скрипт, чтобы они не выводились?
var locals = ['101','1500','hello',
             '102','1500','helloworld',
             '103','700','helloworld!!!'];


  for (var n = 0; n < (locals.length); n++) {
    
    console.log(n);
    
    console.log(
      JSON.stringify(locals[3 * n]),
      JSON.stringify(locals[3 * n + 2]),
      JSON.stringify(locals[3 * n + 1])
    )
    
  }
  • Вопрос задан
  • 173 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Замените условие цикла, вместо n < locals.length сделайте n < locals.length / 3.

Или измените шаг - с 1 на 3, и обращения к элементам массива: вместо 3 * n будет просто n, вместо 3 * n + 1 будет n + 1, и т.д.
Ответ написан
SecurityYourFingers
@SecurityYourFingers Автор вопроса
I make other things, but i know that without your
Это похоже на ответ
if (JSON.stringify(locals[3 * n]) === undefined) break;
var locals = ['101','1500','hello',
              '102','1500','helloworld',
              '103','1500','hello',
              '104','1500','helloworld',
              '105','700','helloworld!!!'];


  for (var n = 0; n < (locals.length); n++) {
    if (JSON.stringify(locals[3 * n]) === undefined) break;
    console.log(n);
    
    console.log(
      JSON.stringify(locals[3 * n]),
      JSON.stringify(locals[3 * n + 2]),
      JSON.stringify(locals[3 * n + 1])
      
      
    )
    
  }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы