Open ericahagle opened 11 months ago
From Jeremiah's feedback:
// these two functions could leverage a third parameter function getSleepQualityFor7Days(currentUser, endDate) { let endDateObj = new Date(endDate); let startDateObj = new Date(endDateObj); startDateObj.setDate(endDateObj.getDate() -6 ); return currentUser.sleepData .filter((entry) => { let entryDateObj = new Date(entry.date); return entryDateObj >= startDateObj && entryDateObj <= endDateObj; }) .map((entry) => { return { date: entry.date, sleepQuality: entry.sleepQuality }; }); } function getSleepFor7Days(currentUser, endDate) { let endDateObj = new Date(endDate); let startDateObj = new Date(endDateObj); startDateObj.setDate(endDateObj.getDate() -6 ); return currentUser.sleepData.filter((entry) => { let entryDateObj = new Date(entry.date); return entryDateObj >= startDateObj && entryDateObj <= endDateObj; }) .map((entry) => { return { date: entry.date, hoursSlept: entry.hoursSlept }; }); } // potential refactor function getWeekSleepData(currentUser, endDate, dataPoint) { let endDateObj = new Date(endDate); let startDateObj = new Date(endDateObj); startDateObj.setDate(endDateObj.getDate() -6 ); return currentUser.sleepData.filter((entry) => { let entryDateObj = new Date(entry.date); return entryDateObj >= startDateObj && entryDateObj <= endDateObj; }) .map((entry) => { let sleepObj = { date: entry.date, }; sleepObj[dataPoint] = entry[dataPoint] return sleepObj }); } // then invoke with either "hoursSlept" or "sleepQuality" as the argument for
From Jeremiah's feedback: