110 of 264 menu

Метод sort

Методът sort извършва сортиране на масив в лексикографски ред и връща вече променения масив. Като незадължителен параметър може да се посочи собствена функция за сортиране.

Синтаксис

масив.sort([функция]);

Пример

Нека сортираме масив:

let arr = ['d', 'b', 'a', 'c']; console.log(arr.sort());

Резултат от изпълнението на кода:

['a', 'b', 'c', 'd']

Пример

Нека сортираме масив с числа:

let arr = [4, 1, 7, 2]; console.log(arr.sort());

Резултат от изпълнението на кода:

[1, 2, 4, 7]

Пример

Нека добавим числа в масива и го сортираме:

let arr = [1, 123, 2, 4, 111, 7]; console.log(arr.sort());

В резултат на изпълнението на кода виждаме, че числата са разположени не във възходящ ред, а в лексикографски ред, т.е. числата се сравняват помежду си като низове. При това сравнението става по всеки символ, дали кодът на първия символ е по-голям от кода на съседния и т.н. Резултат:

[1, 111, 123, 2, 4, 7]

Пример

Сега нека сортираме масива с помощта на функция, в която ще зададем условие - ако първият параметър е по-голям от втория, го разместваме (за това в return всяко положително число). В обратния случай разместване не е необходимо и посочваме 0 или всяко отрицателно число:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { if (a > b) { return 1; } else { return -1; } }); console.log(arr);

Резултат от изпълнението на кода:

[1, 2, 4, 7, 111, 123]

Пример

Нека за удобство съкратим кода в нашата функция от предишния пример:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return a - b; }); console.log(arr);

Резултат от изпълнението на кода:

[1, 2, 4, 7, 111, 123]

Пример

А сега с помощта на функция нека сортираме масива в низходящ ред:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return b - a; }); console.log(arr);

Резултат от изпълнението на кода:

[123, 111, 7, 4, 2, 1]

Пример

Нека сортираме масив от обекти по ключ 'one' във възходящ ред:

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.one - b.one; }); console.log(arr);

Резултат от изпълнението на кода:

[ {one: 1, two: 2}, {one: 3, two: 3}, {one: 7, two: 1} ]

Пример

А сега нека сортираме масива от обекти по ключ 'two':

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.two - b.two; }); console.log(arr);

Резултат от изпълнението на кода:

[ {one: 7, two: 1}, {one: 1, two: 2}, {one: 3, two: 3} ]

Пример

Нека проверим дали масивът се е променил след прилагането на метода sort:

let arr = ['b', 'a', 'd', 'c']; let res = arr.sort(); console.log(arr);

Резултат от изпълнението на кода:

['a', 'b', 'c', 'd']

Вижте също

  • метод filter,
    който позволява филтриране на елементи от масив
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне