Одна - для сортировки без учёта регистра:
CODE:
function anyCase (x,y)
{
if (x.toLowerCase()<y.toLowerCase())
{return -1;}
if (x.toLowerCase()>y.toLowerCase())
{return 1;}
return 0;
}
{
if (x.toLowerCase()<y.toLowerCase())
{return -1;}
if (x.toLowerCase()>y.toLowerCase())
{return 1;}
return 0;
}
Другая - для учёта буквы Ё (только по первым буквам):
CODE:
function yoMoyo(x, y) {
if (x.charCodeAt(0)>=1025) // "Ё"
{
if (x.charCodeAt(0)<=1071) // большие буквы
{ if (x.charCodeAt(0)<=1045 && y.charCodeAt(0)==1025)
{return -1;}
else
{if (x.charCodeAt(0)==1025 && y.charCodeAt(0)<=1045)
{return 1;}
else
{return 0;}
}
}
else
{if (x.charCodeAt(0)>=1072) // маленькие буквы
{if (x.charCodeAt(0)>=1078 && y.charCodeAt(0)==1105)
{return 1;}
else
{if (x.charCodeAt(0)==1105 && y.charCodeAt(0)>=1078)
{return -1;}
else
{return 0;}
}
}
}
}
return 0;
}
if (x.charCodeAt(0)>=1025) // "Ё"
{
if (x.charCodeAt(0)<=1071) // большие буквы
{ if (x.charCodeAt(0)<=1045 && y.charCodeAt(0)==1025)
{return -1;}
else
{if (x.charCodeAt(0)==1025 && y.charCodeAt(0)<=1045)
{return 1;}
else
{return 0;}
}
}
else
{if (x.charCodeAt(0)>=1072) // маленькие буквы
{if (x.charCodeAt(0)>=1078 && y.charCodeAt(0)==1105)
{return 1;}
else
{if (x.charCodeAt(0)==1105 && y.charCodeAt(0)>=1078)
{return -1;}
else
{return 0;}
}
}
}
}
return 0;
}
Сами по себе обе работают.
1. Не получается совместить их
2. Непонятно, как сортировать в строгом алф. порядке: for (i in ГДЕ?) Метод sort() ведь аргументов функции не принимает.