Встречается на собеседованиях • сегодня
Как реализовать календарь
Для реализации календаря на фронтенде можно использовать готовые библиотеки (например, `react-datepicker`, `fullcalendar`) или написать свой компонент.
**Базовый вариант на чистом JS:**
1. Создаем таблицу для дней недели и ячеек дат.
2. Рассчитываем дни месяца с учетом первого дня недели.
3. Обрабатываем клики для выбора даты.
```javascript
function renderCalendar(year, month) {
const firstDay = new Date(year, month, 1).getDay();
const daysInMonth = new Date(year, month + 1, 0).getDate();
let date = 1;
for (let i = 0; i < 6; i++) {
for (let j = 0; j < 7; j++) {
if (i === 0 && j < firstDay) {
// Пустые ячейки до первого дня
} else if (date <= daysInMonth) {
// Добавляем дату
date++;
}
}
}
}
```
**Для React:**
```jsx
import { useState } from 'react';
function Calendar() {
const [currentDate, setCurrentDate] = useState(new Date());
// Логика рендера дней месяца
return (
{/* Заголовок с месяцем/годом */}
{/* Таблица с днями */}
);
}
```
**Рекомендации:**
- Для сложных календарей (выбор диапазона, события) используйте библиотеки.
- Учитывайте локализацию (первый день недели, названия месяцев).
- Добавьте стилизацию и анимации для UX.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы