Помогите с сортировкой массива
Сортировка, последовательность:
цифры => русские буквы => английские буквы Пример: массив array("World of tans", "Империя добра", "4 Life") результат 4 Life Империя добра Word of tanks |
bolatik,
:-? var arr = ["World of tans", "Империя добра", "4 Life", 1, 7, 81, 9]; alert(arr.sort( function (a, b) { a = ''+a; b=''+b; var len = Math.min(a.length,b.length), vol = {num : [3,/\d/], rus : [2,/[а-яё]/i], eng: [1,/[a-z]/i]},res = 0; for (var i=0; i<len; i++) { var aa = 0, bb = 0; for(var k in vol) if (vol[k][1].test(a[i])) aa = vol[k][0]; for(var k in vol) if (vol[k][1].test(b[i])) bb = vol[k][0]; res = bb - aa; if (res) return res; if (b[i] > a[i]) return 1; if (b[i] < a[i]) return -1; } return a.length - b.length; } )); |
Цитата:
if (b[i] > a[i]) return -1; if (b[i] < a[i]) return 1; } return a.length - b.length; |
Яростный Меч,
ок ))) добавил и исправил -- сортировка по убыванию при условии что все элементы массива строки. |
Спасибо! Огромное спасибо!
|
Часовой пояс GMT +3, время: 02:05. |