So I'm working on some filters where users can select even from ex: "Friday to Tuesday" but how to I slice these from an array of dates
var days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]
So how do I slice from index from 5 to 2 which should return:
["friday", "saturday", "sunday", "monday", "tuesday"]
You could make a simple function that tests whether the end is smaller than the start and slice accordingly:
let days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]
const wrapslice = (arr, start, end) =>{
return end < start
? arr.slice(start).concat(arr.slice(0, end))
: arr.slice(start, end)
}
console.log(wrapslice(days, 5, 2))
console.log(wrapslice(days, 2, 5))
console.log(wrapslice(days, 4))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With