javascript快速排序提示‘too much recursion’

附上代码

function qSort(arr){
if(arr.length <= 1){
return arr;
}
var left = [];
var right = [];
var mid = arr[0];
for(var i=1;i<arr.length;i++){
if(arr[i] <= mid){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return qSort(left).concat(mid,qSort(right));
}
当数据量10万就提示‘too much recursion’

算法写的有问题,已经提示无限递归了。