Как отсортировать дни недели и записать в параграф?
Всех приветствую! Только изучаю модификацию 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 шт):
Если ты указываешь имя ключа в скобках 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>