const WeatherTable = { display(historyData = [], forecastData = []) { historyData = Array.isArray(historyData) ? historyData : []; forecastData = Array.isArray(forecastData) ? forecastData : []; if (historyData.length === 0 && forecastData.length === 0) { return; } const allData = [...historyData, ...forecastData]; const sortedData = allData.sort((a, b) => new Date(a.date_time) - new Date(b.date_time)); const tableBody = document.getElementById('tableBody'); if (!tableBody) return; tableBody.innerHTML = ''; const fmt = (v, digits) => (v === null || v === undefined || v === '' || isNaN(Number(v))) ? '' : Number(v).toFixed(digits); sortedData.forEach(row => { const tr = document.createElement('tr'); tr.innerHTML = `