You can create 2 functions which return firstDayOfWeek and lastDayOfWeek like
function firstDayOfWeek(dateObject, firstDayOfWeekIndex) {
const dayOfWeek = dateObject.getDay(),
firstDayOfWeek = new Date(dateObject),
diff = dayOfWeek >= firstDayOfWeekIndex ?
dayOfWeek - firstDayOfWeekIndex :
6 - dayOfWeek
firstDayOfWeek.setDate(dateObject.getDate() - diff)
firstDayOfWeek.setHours(0,0,0,0)
return firstDayOfWeek
}
and
function lastDayOfWeek(dateObject, lastDayOfWeekIndex) {
const dayOfWeek = dateObject.getDay(),
lastDayOfWeek = new Date(dateObject),
diff = dayOfWeek <= lastDayOfWeekIndex ?
dayOfWeek - lastDayOfWeekIndex :
6 - dayOfWeek
lastDayOfWeek.setDate(dateObject.getDate() - diff)
lastDayOfWeek.setHours(0,0,0,0)
return lastDayOfWeek
}
now you can call these functions
let lastMonday = firstDayOfWeek(new Date(), 1)
let nextSunday = lastDayOfWeek((new Date(), 7)