As a supplement to @Berthurs answer here's how you could improve the time complexity of the key function. Its currently O(n) i.e. scales linearly with size of the input.
To reduce that down to constant time O(1) use an object to map the day names to indices in the original array. That way you don't have to look them up again in every call to the key function. They are already computed. If that's not 100% clear orderMap
ends up looking like this.
{ "Sunday": 0, "Monday": 1, "Tuesday": 2, "Wednesday": 3, "Thursday": 4, "Friday": 5, "Saturday": 6 }
The code
const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
const orderMap = weekDays.reduce((accum, val, i) => { accum[val] = i; return accum; }, {});
const arrCopy = [...weekDays, ...weekDays, ...weekDays];
arrCopy.sort((a, b) => orderMap[a] - orderMap[b]);