Javascript Equivalent to the PHP natsort()

This Javascript function is performs in the same way as the PHP function natsort($array). The function returns the array sorted in a natural way, as humans would naturally sort a list.

// return the array sorted just like the php function natsort($array)

function natsort($a) {
    return $array.sort(function (a,b) {
        if ( isNaN(a) && isNaN(b) ) {
            if (a<=b) { return false; } else { return true; }
        if (isNaN(a)) { return true; }
        if (isNaN(b)) { return false; }
        return a-b;


$array = [5,100,7,4,6,3,8,20,9,10,2,0,1,"natural","sorting","javascript"];
$array = natsort($array); // calls the Javascript function defined above

Produces the result: