Generate [min, max] range from strings
I do believe this could be done easier. You could use the || shortcut to set min and max if you could not find a speed range, and you could extract the numbers into a data structure and go from there.

Something like this:

function getRange(speed){
    //Speed range config, in array to preserve order
    var speedRanges = [
            { name: 'slow',   min: 1  , max : 35 },
            { name: 'medium', min: 36 , max : 75 },
            { name: 'fast',   min: 76 , max : 100 }
        ],
        min, max, i, range;
    //Build logic once for arrays, if we are not dealing with an array,
    //then turn speed into an array
    if (!Array.isArray(speed))
        speed = [speed];
    //Check for each speed range, apply if applicable 
    for (i = 0; i &lt; speedRanges.length; i++) {
        range = speedRanges[i];
        if (~speed.indexOf(range.name)) {
            min = min || range.min;
            max = range.max;
        }
    }

    min = min || 1;
    max = max || 100;
    return [min, max];
}


If you absolutely need slow to be 0 to 35 then you will have to enhance min = min || range.min; since 0 counts as not set..