Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / сортинг массива 1, 2, 3, 11, а не 1, 11, 2 .. / 12 сообщений из 12, страница 1 из 1
02.10.2006, 21:32
    #34027212
Pretorian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
есть массив файлов
подхватываются по порядку 1.jpg и далее
как заставить идти после 1.jpg 2.jpg, а не 11.jpg
...
Рейтинг: 0 / 0
02.10.2006, 21:34
    #34027215
Pretorian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
JS
...
Рейтинг: 0 / 0
02.10.2006, 22:57
    #34027290
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script>
function compareNumbers ( a, b ) 
{
    return a - b;
}

myArray = new Array ( "1", "3", "2", "11" );
myArray.sort(compareNumbers);

alert( myArray );
</script>
...
Рейтинг: 0 / 0
03.10.2006, 14:13
    #34028776
Pretorian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
да, спасибо, Николай, я уже более-менее допетрил до этого решения 8)

у меня на самом деле более хитрая проблема
названия файлов содержат буквы
например: k11.jpg, k5.jpg, k1.jpg
и вот их-то и надо отсортировать по порядку

я пока думаю так:

1. сначала взять поштучно каждое имя (циклом)
2. проверить на длину (length)
3. обрезать в зависимости от длины до цифр (substr)
4. затем конвертнуть эти получившиеся строки в реальные цифры (как?)
5. затем добавить еще одно измерение массиву (как?) в виде этих цифр
6. затем отсортировать массив по этому измерению (как?)

фуф
как-то длинно выходит :)
...
Рейтинг: 0 / 0
03.10.2006, 14:58
    #34028940
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
цифири можно регуляркой вытаскивать типа /(\D+)(\d+).jpg/
...
Рейтинг: 0 / 0
03.10.2006, 15:08
    #34028984
Pretorian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
2maXmo

не понял
это как?
...
Рейтинг: 0 / 0
03.10.2006, 15:09
    #34028992
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
читай про RegExp
...
Рейтинг: 0 / 0
03.10.2006, 15:10
    #34028995
Pretorian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
ок
...
Рейтинг: 0 / 0
03.10.2006, 15:13
    #34029019
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
хотя если только одна буковка спереди, можно попробовать parseInt(fileName.substr(1))
...
Рейтинг: 0 / 0
03.10.2006, 15:21
    #34029050
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
maXmoхотя если только одна буковка спереди, можно попробовать parseInt(fileName.substr(1))
тоже так думаю
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script>
function compareNumbers ( a, b ) 
{
    return a.substr( 1 ) - b.substr( 1 );
}

myArray = new Array ( "k1", "k3", "k2", "k11" );
myArray.sort(compareNumbers);

alert( myArray );
</script>
...
Рейтинг: 0 / 0
03.10.2006, 15:27
    #34029080
Pretorian
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
ух ты, попробую, спасибо
...
Рейтинг: 0 / 0
03.10.2006, 15:51
    #34029175
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сортинг массива 1, 2, 3, 11, а не 1, 11, 2 ..
только если строки "k12.jpg", "k1.jpg", придётся вызывать parseInt в явном виде.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / сортинг массива 1, 2, 3, 11, а не 1, 11, 2 .. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]