I don't understand how does this code work. Can someone point me in the right direction on how to use ? and : in for loops? What do they mean?
var range = function(start, end, step) {
var arr = [];
for (var i = start; step > 1 || step === undefined ? i <= end : i >= end; step ? i = i + step : i++) {
arr.push(i);
}
return arr;
};