Array.sort()

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 ); Сортування масиву методом sort з використанням функції сортування від більшого значення до меншого: 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));