I have a merge sort script like this:

```
function mergeSort(arr){
   var len = arr.length;
   if(len <2)
      return arr;
   var mid = Math.floor(len/2),
       left = arr.slice(0,mid),
       right =arr.slice(mid);
   //send left and right to the mergeSort to broke it down into pieces
   //then merge those
   return merge(mergeSort(left),mergeSort(right));
}

function merge(left, right){
  var result = [],
      lLen = left.length,
      rLen = right.length,
      l = 0,
      r = 0;
  while(l < lLen && r < rLen){
     if(left[l] < right[r]){
       result.push(left[l++]);
     }
     else{
       result.push(right[r++]);
    }
  }  
  //remaining part needs to be addred to the result
  return result.concat(left.slice(l)).concat(right.slice(r));
}

console.log(mergeSort(['a', 'B', 'b', 'A', 'c']))

```

the output is: 

```
["A", "B", "a", "b", "c"]

```

I want to have order like 

```
["A", "a", "B", "b", "c"]

```

toLowerCase() method will not work because it can return something like this:

```
["A", "a", "b", "B", "c"]

```

Regards