|
|
|
| Пример массива (предположим, это - некий список гостей):
Петина подруга
дядя Вася
сосед Сергей
дедушка Сергей
|
Простая сортировка списка по алфавиту (метод sort ()) даст следующее:
дедушка Сергей
дядя Вася
Петина подруга
сосед Сергей
|
А мне надо сортировать по именам, которые начинаются с заглавной буквы. Т. е. надо получить после сортировки следующий список:
дядя Вася
Петина подруга
дедушка Сергей
сосед Сергей
| * первый Сергей должен быть выше, потому что он дедушка.
Написал скрипт, который это реализует:
<script>
var S = new Array ('Петина подруга', 'дядя Вася', 'сосед Сергей', 'дедушка Сергей');
for (var j = 0, ln = S.length; j < ln; j++)
S [j] = S [j].substr (S [j].search (/[А-Я]/)) + '=' + S [j];
S.sort ();
for (var j = 0, ln = S.length; j < ln; j++)
S [j] = S [j].substr (S [j].search (/=/) + 1);
document.write (S.join ('<br>\n'));
</script>
|
Но какой-то он громоздкий получается :-((
Может, кто предложит поизящнее? | |
|
|
|
|
|
|
|
для: АЯС
(17.01.2012 в 10:37)
| | >Но какой-то он громоздкий получается :-((
5 строчек кода для нетривиальной сортировки, имхо, очень даже нормально.
можно гораздо хуже написать =] | |
|
|
|
|
|
|
|
для: АЯС
(17.01.2012 в 10:37)
| | Такой код надо не на переделку, а на выставку! | |
|
|
|