Цитата:
|
laimas,
бред какой-то ... я писал выше, что не понимаю ... |
Цитата:
сейчас посмотрел в консоли, что выведет var arr = [1, 2, 3, 4, 5, 6]; arr.sort(function(a, b) { console.log(a, b, arr); return 1; }) судя по логу, тут "сортировка вставками". И в callback элементы попадают ровно в той последовательности, в какой изначально друг относительно друга находятся. а если длина более 10, то используется "быстрая сортировка", с перекидываниями элементов туда-сюда, и пары образуются как возрастающие, так и убывающие var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; arr.sort(function(a, b) { console.log(a, b, arr); return 1; }) |
laimas,
не совсем понял, какую мысль ты хочешь донести. есть sort, который сортирует элементы как строки, по возрастанию для любого другого кейса не обойтись без кастомной функции сравнения в чем загвоздка? |
Никакого подвоха, но не под каждое же имя файла своя функция. А такого добра много, адреса и т.п.
|
console.log(["iag12.png", "iq10.png", "img2.png", "img1.png"].sort(function(a, b) { var aw = a.match(/\D+/)[0], bw = b.match(/\D+/)[0], ad = a.match(/\d+/)[0], bd = b.match(/\d+/)[0]; return (aw > bw) - (aw < bw) || (ad-bd) - (bd-ad); })); |
j0hnik,
ну чего под ответ подгонять :) Сразу пишите функцию для натуральной сортировки (хотя для JS это уже давно написано), а данная то опять для этого конкретного случая. |
Цитата:
|
Цитата:
А если стоит задача сортировки, к примеру, списка файлов, с возможностью сортировки по набору параметров (пусть отсортировать по типу файлов и имени, то есть первичное тип, а в нем уже имена и т.п.), тогда да, это можно считать узко специализированной задачей (ТЗ), заточили под нее скрипт. |
Цитата:
|
Часовой пояс GMT +3, время: 03:24. |