Array.sort() - сортує елементи масиву і повертає відсортований масив.
arr.sort([ sortFunction ]);
sortFunction - Необов'язковий параметр. Вказує функцію, що визначає порядок сортування. Якщо функцію не вказано то масив сортується відповідно до значень кодових точок кожного символу Unicode, отриманих шляхом перетворення кожного елемента в рядок.
sort() метод об'єкту Array який сортує масив.
Якщо вказати функцію в параметрі sortFunction, то вона повинна повертати одне з наступних значень:
var mas=[16,7,45,0,9,2,3];
mas.sort();
alert(mas); //[0,16,2,3,45,7,9]
var mas = new Array(1, 9, 8, 2, "JS");
mas.sort();
alert( mas );
function sor(a,b){
if(a>b) return -1;
if(a<b) return 1;
return 0;
}
var mas=[16,7,45,0,9,2,3];
mas.sort(sor);
alert(mas); //[45,16,9,7,3,2,0]
або таким способом:
function sor(a,b){
return b-a;
}
var mas=[16,7,45,0,9,2,3];
mas.sort(sor);
alert(mas); //[45,16,9,7,3,2,0]
var mas=[1,2,3,4,5,6,7,8,9];
mas.sort(function(){
return Math.random()-0.5;
});
alert(mas);
var arr=[{name:'Петро', year:1995}, {name:'Микола', year:2001}, {name:'Оля', year:1999}, {name:'Денис', year:2005}, {name:'Діана', year:1996}, {name:'Ярослав', year:1991}];
//функція сортування по року
function sortYear(a,b){
if(a.year>b.year)return 1;
if(a.year<b.year)return -1;
return 0;
}
//функція сортування по імені
function sortName(a,b){
if(a.name>b.name)return 1;
if(a.name<b.name)return -1;
return 0;
}
arr.sort(sortYear);
alert('сортування по year: '+JSON.stringify(arr));
arr.sort(sortName);
alert('сортування по name: '+JSON.stringify(arr));