Alexandroppolus,
может и есть но, с маленьким вроде все логично выводит, а там пытается "хитрить" |
Цитата:
var a = ['11-05-2018', '12-05-2017', '10-04-2017']; a.sort(); alert(a); alert('12-05-2017' > '11-05-2018') Опасно так все строки сортировать ;) |
laimas,
ты сортируешь строки, а результат хочешь как от даты, в строках "8" больше чем "20" |
Цитата:
Такие же проблемы могут быть и просто с числами (уберите дефисы, результат не лучше будет, так как это строки). А есть еще понятие "натуральная сортировка", в JS готовой функции для нее тоже нет. |
laimas,
не осилил |
Цитата:
Ну например есть массив имен файлов, которые надо отсортировать: var a = ["img12.png", "img10.png", "img2.png", "img1.png"]; a.sort(); alert(a); и получим не то чего бы хотелось - img1.png, img2.png, img10.png, img12.png. Проблема в том, что сравнение a > b будет косячит с числами. |
laimas,
спасибо, но я пас. |
Цитата:
var a = ["img12.png", "img10.png", "img2.png", "img1.png"]; a.sort(function(a,b) { return a.match(/\d+/)[0] - b.match(/\d+/)[0] }); alert(a); |
Цитата:
Проверьте свой код с таким, например, массивом: ["iag12.png", "iq10.png", "img2.png", "img1.png"] - с цифрами все будет Ок, но ведь не верно же будет. ) |
Цитата:
|
Часовой пояс GMT +3, время: 17:16. |