Как перечислить каждый цикл forEach в HTML

Я пытаюсь вывести результаты своего цикла forEach один за другим в виде списка в HTML, для которого я использовал:

object = {
food1 : [potato, tomato, carrot]
}

object[food1].forEach(function (item){
    var text = "";
    text += item;
    $("#ulelement").html("<li>" + text + "</li>");
})

В настоящее время это приводит к добавлению элемента списка в мой html с последним запуском forEach, который является " морковью ". Чего я хотел бы добиться, так это дать мне 3 элемента списка: картофель помидор морковь

Немного сложно понять, что на самом деле здесь спрашивают. Пожалуйста, отредактируйте свой вопрос и уточните, что не работает и как вы этого хотите.

weegee 23.06.2019 19:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если я правильно понимаю, вы хотите, чтобы ulelement содержал все созданные li элементы, а не только последний, если это так, вы можете использовать .reduce, вот пример:

ulelement.html(object[array].reduce((a, c) => `${a}<li>${c}</li>`, ""))

Вы можете найти более подробную информацию о .reduceЗДЕСЬ

Кроме того, в этом примере я использовал литерал шаблона, вы можете найти подробности об этом ЗДЕСЬ

В точку, сэр! это именно то, что я искал, спасибо! Мне также нужно будет изучить, как это работает. Спасибо

Uchivaru Kanda 23.06.2019 19:53
Ответ принят как подходящий

Когда вы вызываете .html(), вы перезаписываете эффект предыдущей итерации, поэтому на выходе вы получаете только последнее значение.

Вы можете использовать .append():

$("#ulelement").append("<li>" + text + "</li>");

Примечание: лучше использовать jQuery в полной мере, чтобы избежать проблем с кодировкой символов:

$("#ulelement").append($("<li>").text(text));

Чтобы сбросить список в начале, добавьте этот до в цикл:

$("#ulelement").empty();

Это также отлично сработало, однако единственная причина, по которой .reduce послужила мне лучше, заключается в том, что мне нужно заменить его, когда я изменяю значение. Несмотря на это, большое спасибо, это также еще одна новая вещь для меня!

Uchivaru Kanda 23.06.2019 19:54

Другие вопросы по теме