Lonely_Raven
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день! Написал код для сортировки списка сокращений, разделенных точкой с запятой (предварительно его нужно выделить в окне Эмэдитора). Код: var strout=""; out = abbr_sort(document.selection.text); document.selection.text = out; function abbr_sort(str){ str=str.replace(/^\s+|\s+$/, ""); str=str.replace(/[.]$/, ""); arr = str.split("; "); for (i=0; i < arr.length; i++){arr[i] = arr[i].replace(/^\s+/, "")}; arr.sort(); for (i=0; i < arr.length; i++){ strout = strout + arr[i] + "; "; } strout = strout.replace(/; $/,"."); return strout; } | Проблема в следующем: сортируется не подряд по алфавиту, а сначала английские заглавные, потом английские строчные, русские заглавные, русские строчные. Пример: EDSS—расширенная шкала инвалидизации; SF-36 — краткий опросник состояния здоровья; mITT — модифицированная ITT-популяция; ДИ — доверительный интервал; ОР — относительный риск; ОШ — отношение шансов; ПИТРС — препараты, изменяющие течение рассеянного склероза; СЧО — среднегодовая частота обострений; в/в — внутривенно; в/м — внутримышечно. Как это можно пофиксить? |