I want to make shift parser helper which is generate time of work shift, below is shift rule
let shift_rule = [
{
shift: '07-12',
start: 7,
finish: 12
},
{
shift: '12-17',
start: 12,
finish: 17
},
{
shift: '17-22',
start: 17,
finish: 22
},
];
If time shift is timeStart = 7
, timeFinish = 17
Expected output:
[
{
shift: '07-12',
start: 7,
finish: 12
},
{
shift: '12-17'
start: 12,
finish: 17
},
]
I'd already try to solve with this code
shift_rule
.map((time) => ((timeFinish > time.start)) && time)
.filter(item => typeof item !== 'boolean');
But when filter was time.start = 17
, timeFinish = 22
, it show:
[
{
shift: '07-12',
start: 7,
finish: 12
},
{
shift: '12-17',
start: 12,
finish: 17
},
{
shift: '17-22',
start: 17,
finish: 22
},
]
Hope can be solved with ES6 Functional