@Deadorik

Как из множества переменных цикла вывести несколько?

В цикл for of записываются 50 урлов с изображениями получаемых по API. При нажатии кнопки хочу вывести 5 из 50. Сейчас выводятся все 50. Как можно вывести 5 из 50? Попытался имитировать индекс через value. Должно быть так: если value === 5, то запускается break и цикл останавливается и на странице выдает 5 изображений, но условие полностью игнорируется, вместо true выдает 50 false.

let value = 1;
  for (let item of gif2) {
    urlImg = item.images.fixed_height.url; // Проваливаюсь до urloв и записываю путь к urlам в переменную
    const image = document.createElement("img");
    image.setAttribute("src", urlImg); // src ссылается на переменную
    image.setAttribute("class", "item_gif");
    image.setAttribute("value", value);
    const imgContainer = document.querySelector(".result_container");
    imgContainer.append(image);

    //Попытка вывести ограниченное число изображений
    value++;
    let transformValue=parseInt(image.value)
    console.log(typeof transformValue)
    if (transformValue === 5) {
      console.log("Цикл остановлен")
      break;
    }
    else{
      console.log("Пошел нахрен")
    }
    }
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
устанавливаете нестандартный атрибут элементу image:
И потом пытаетесь его прочитать как свойство элемента: image.value // будет undefuned

Вместо этого можно читать так же, как устанавливали:
image.getAttribute('value') // "5" — строка текста!

Но вообще-то это все какая-то дичь )
Почему бы просто не сравнивать переменную value с пороговым значением 5 ?
if (value++ === 5) {
  break;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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