JSFiddle - React, Tailwind, and code Playground
HTML
<div class="week">
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
<div class="item">
<div class="day"></div>
<div class="count"></div>
</div>
</div>
CSS
.week {
border: 1px solid #ccc;
display: flex;
flex-direction: column;
}
.item {
display: flex;
border: 1px solid #ccc;
}
.day,
.count{
padding: 1rem;
}
.zerro {
color:red;
}
JavaScript
const dayDOM = document.querySelectorAll('.day')
const arrDayWeek = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'];
let date = new Date();
for (let i = 0; i < dayDOM.length; i++) {
let diff = date.getDate() - date.getDay() + (date.getDay() === 0 ? -6 : (i + 1));
let dateOfWeek = new Date(date.setDate(diff)).toISOString().slice(8, 10);
dayDOM[i].textContent = `${dateOfWeek}, ${arrDayWeek[i]}`
}
let arr = [ 2, 3, 4, 5, 7, 2, 3, 4, 5, 2, 3, 4, 5, 7, 2, 3, 5];
let result = {};
for (let i = 0; i < arr.length; ++i) {
let a = arr[i];
if (result[a] !== undefined)
++result[a];
else
result[a] = 1;
}
let countElem = document.querySelectorAll('.count');
for (let i = 0; i < countElem.length; i++) {
countElem[i].textContent = result[i+1] ? result[i+1] : 0;
if(!result[i+1]){
countElem[i].parentNode.classList.add("zerro");
}
}