j0hnik,
c return -1 работает везде
<script>
var str = "12345678901234567890";
for (var i = 0; i < 50; i++) {
document.write("<br>"+str.split("").sort(function() {
return Math.random() > 0.5
}).sort(function(a,b) {
return a > b ? 1 : a < b ? -1 : 0
})) //ожидаемый результат 0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9
}
</script>