Image

сортировка массивов в js

Друзья, разъясните мне, отчего так в жизни? Я уже совсем отчаялся понять.
Вот есть у нас такой стандартный метод у массивов в js - sort.

Дополнительным параметром мы можем задать функцию, которая, собственно, сортирует.

Например, arr.sort(function(a,b){return a>b?1:a<b?-1:0}) - по возрастанию.
Например, arr.sort(function(a,b){return a>b?-1:a<b?1:0}) - по убыванию.

Простая логика подсказывает,
arr.sort(function(a,b){return a>b?0:a<b?0:0});
должно возвращать всё тот же массив,  с тем же порядком элементов.

Но так  увы, происходит не всегда.
А я не могу понять ни логику перестановок, ни, собственно, почему такие перестановки происходят.

Вот, например, проверьте в мозилле:

88,40,1,95,5,62,87,15
1,40,95,5,62,87,88,15

Почему?
Кросс пост в ру_вебдев.