Когда есть например нижнее подчеркивание, то у нас идет слово по англ после него по рус. и снова по англ. Порядок сортировки не верный, в начале только рус. потом англ или наоборот.
Пример:
https://codepen.io/PolyakhAlex/pen/NXMbbZ?editors=1010
var array = ['hi', 'yo', 'whatup', 'Саша', 'bye', 'lol', '_Привет', '!Bob'];
var sortedArray = array.sort(function (a, b) {
if (a < b) return -1;
else if (a > b) return 1;
return 0;
});
console.log(sortedArray); // ["!Bob", "_Привет", "bye", "hi", "lol", "whatup", "yo", "Саша"]