Finding the max sequence finder
Tested on firefox browser, Chrome could not support default argument syntax


I think it's good to write code that runs anywhere.
You can make this code run anywhere with a simple modification:


Rename findMaxSequence to findMaxSequenceInner and remove the default values
Create a new findMaxSequence function


Like this:

function findMaxSequence(array) {
    return findMaxSequenceInner(array, -1, -1, 0, []);
}

function findMaxSequenceInner(array, start, end, i, results){
    // ...
} 




Instead of this:


if((array.length == 1) || (array.length == 0)){



It would be better to combine those conditions:

if (array.length &lt;= 1) {




When all branches of if-else-if-else conditions return, you can simplify to multiple ifs, like this:

function findMaxSequenceInner(array, start, end, i, results){
    if (array.length &lt;= 1) {
        return "[ " + array + " ]";  
    }
    if (i &gt;= array.length - 1) {
        if (start != -1) {
            results.push(array.slice(start, end+1));
        }
        if (results.length &gt; 0) {
            results.sort(
                function(a, b) {
                    return a.length &lt; b.length;
                }
            );
            return "[ " + results[0].toString() + " ]";
        } else {
            return "no";
        } 
    }
    if (array[i] &lt; array[i+1]) {
        if (start == -1) {
            start = i;  
        }
        return findMaxSequenceInner(array, start, i+1, ++i, results); 
    }
    if (array[i] &gt;= array[i+1]) {
        if (start != end) {
            results.push(array.slice(start, end+1))
        }
        return findMaxSequenceInner(array, -1, -1, ++i, results); 
    }
}




Looking at this part:


if (array[i] &lt; array[i+1]) {
    if (start == -1) {
        start = i;  
    }
    return findMaxSequenceInner(array, start, i+1, ++i, results); 
}
if (array[i] &gt;= array[i+1]) {
    if (start != end) {
        results.push(array.slice(start, end+1))
    }
    return findMaxSequenceInner(array, -1, -1, ++i, results); 
}



Notice that the two conditions perfectly complement each other.
So you can remove the second condition completely, as it will always be true if the first one was false:

if (array[i] &lt; array[i+1]) {
    if (start == -1) {
        start = i;  
    }
    return findMaxSequenceInner(array, start, i+1, ++i, results); 
}
if (start != end) {
    results.push(array.slice(start, end+1))
}
return findMaxSequenceInner(array, -1, -1, ++i, results); 


Once again, nesting level is reduced, which is easier to read.



Lastly, there are some formatting issues:


The indentation is inconsistent
The spacing is too tight, for example }else if(array[i] &gt;= array[i+1]){ is easier to read as } else if (array[i] &gt;= array[i+1]) {, that is, spaces inserted around braces


In the above examples I already adjusted the indenting and spacing, I hope you see the difference from your original.