Как отсортировать дни недели и записать в параграф?

Всех приветствую! Только изучаю модификацию DOM и следующий вопрос. По условию нужно взять дни недели и с последующим созданием параграфов с помощью перебора массива days записать дни.

Для этого взял див для рабочих дней и соответственно див для выходных. Создан масив с єтими днями недели. Дальше я думал с помощью if...else создать параграфы и записать в соответсвующий день, но это так не работает. И то, оно создало бы только один параграф куда всё и поместило бы. Прошу наставить на путь истины.

<div class="workday"></div>


<div class="weekend"></div>

<script>
   
        let days = [
        { name: "Sunday", 
        isWorkDay: false },

        { name: "Monday", 
        isWorkDay: true },

        { name: "Tuesday", 
        isWorkDay: true },

        { name: "Wednesday", 
        isWorkDay: true },

        { name: "Thursday", 
        isWorkDay: true },

        { name: "Friday", 
        isWorkDay: true },

        { name: "Saturday",
         isWorkDay: false }
        ];



            if (days['isWorkDay'] == true) {
                      let p = document.createElement('p');
                      p.innerHTML = days[name];
                    '.workday'.append(p);
            } else { 
                    let p = document.createElement('p');
                    p.innerHTML = days[name];
                    '.weekend'.append(p);
            } 
            

        
            
</script>

Ответы (1 шт):

Автор решения: Rudi

Если ты указываешь имя ключа в скобках days[name]; оно должно браться из переменной name которая у тебя не создана, чтобы обратиться к свойству объекта надо использовать точечную нотацию т.е.days.name, или указать ключ, как строку days["name"]; но чтобы обратиться к объектам внутри массива, надо по массиву days пробежать циклом for и обращаться к свойствам объекта по текущему индексу days[i].name;... И такая запись не работает '.weekend'.append(p);

let days = [{
    name: "Sunday",
    isWorkDay: false
  },

  {
    name: "Monday",
    isWorkDay: true
  },

  {
    name: "Tuesday",
    isWorkDay: true
  },

  {
    name: "Wednesday",
    isWorkDay: true
  },

  {
    name: "Thursday",
    isWorkDay: true
  },

  {
    name: "Friday",
    isWorkDay: true
  },

  {
    name: "Saturday",
    isWorkDay: false
  }
];


for (var i = 0; i < days.length; i++) {
  let p = document.createElement('p');
  p.innerHTML = days[i].name;
  if (days[i]['isWorkDay']) {
    document.getElementById('workday').append(p);
  } else {
    document.getElementById('weekend').append(p);
  }
}
<div id="workday">Рабочие дни</div>


<div id="weekend">Выходные</div>

→ Ссылка