logo

Metoda sortowania tablicy JavaScript().

The sort()> metoda w JavaScript porządkuje elementy tablicy i zwraca posortowaną tablicę. Domyślnie sortuje elementy alfabetycznie, traktując je jak ciągi znaków.

Jednak w przypadku sortowania numerycznego można udostępnić niestandardową funkcję porównania. Funkcja ta dyktuje kryteria sortowania, umożliwiając precyzyjną kontrolę nad procesem sortowania. `sort()` zwiększa wydajność i funkcjonalność aplikacji JavaScript, umożliwiając organizowanie elementów tablicy zgodnie z określonymi wymaganiami w sposób profesjonalny i formalny.



Składnia

arr.sort(compareFunction);>

Parametry

  • array>: Tablica, która ma zostać posortowana.
  • compareFunction>(Opcjonalnie): Funkcja określająca porządek sortowania. W przypadku pominięcia elementy tablicy są sortowane na podstawie ich punktów kodowych Unicode.

Wartość zwracana



Ta metoda zwraca odwołanie do posortowanej oryginalnej tablicy.

string.format w Javie

Przykłady:

Przykład 1: Sortowanie tablicy ciągów

Ten przykład pokazuje użycie funkcji sort().



JavaScript
// JavaScript to illustrate sort() function function func() {  // Original string  let arr = ['Geeks', 'for', 'Geeks']  console.log(arr);  // Sorting the array  console.log(arr.sort()); } func();>

Wyjście
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>

Wyjaśnienie:

Thesort()>metoda przestawia elementyarr>array alfabetycznie, tworząc wynik['Geeks', 'Geeks', 'for']>.

jak zamienić string na int

Przykład 2: Sortowanie tablicy liczb bez funkcji porównania

Tutaj sortować() Metoda porządkuje elementy tablicy w kolejności rosnącej.

JavaScript
// JavaScript to illustrate sort() function function func() {  //Original string  let arr = [2, 5, 8, 1, 4]  //Sorting the array  console.log(arr.sort()); } func();>

Wyjście
[ 1, 2, 4, 5, 8 ]>

Wyjaśnienie:

Thesort()>metoda jest wywoływana na tablicy liczb[2, 5, 8, 1, 4]>. Thesort()>metoda posortuje elementy alfabetycznie, ponieważ nie jest dostępna funkcja porównania. Dlatego wynik będzie[1, 2, 4, 5, 8]>, który jest posortowany alfabetycznie na podstawie ciągów reprezentujących liczby.

lista.sortuj Java

Przykład 3: Sortowanie wartości liczbowej bez funkcji porównania

Tutaj sortujemy wartość liczbową bez funkcji porównania

JavaScript
let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>

Wyjście
[ -120, 0, 100, 20, 30, 5.2 ]>

Wyjaśnienie:

Kiedy używaszsort()>bez funkcji porównania, JavaScript domyślnie sortuje elementy tablicy jako ciągi znaków, co nie zawsze może dawać oczekiwane wyniki w przypadku tablic numerycznych. Rozłóżmy proces sortowania:

  • JavaScript konwertuje każdy element tablicy na ciąg znaków.
  • Następnie porównuje jednostki kodu UTF-16 każdego znaku w ciągu i sortuje je na podstawie wartości punktu kodowego Unicode.

Oto, co dzieje się z Twoją tablicą:

  • Liczby są konwertowane na ciągi znaków:['20', '5.2', '-120', '100', '30', '0']>.
  • Posortowane alfabetycznie,-120>jest na pierwszym miejscu, ponieważ->ma niższą wartość punktową kodu Unicode niż cyfry (0>Do9>). Potem przychodzi0>, śledzony przez100>,20>,30>, I5.2>.

Przykład 4: Sortowanie wartości liczbowych za pomocą funkcji porównania

Wąż Pythona kontra Anakonda

Nieoczekiwany błąd, który wystąpił w powyższym przykładzie, możemy rozwiązać, używając metody sort() dla liczb, korzystając z poniższej funkcji porównania.

JavaScript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 zostanie umieszczone przed 20, 20 - (-120) = +ve => -120 zostanie umieszczone przed 20, 20 - (100) = -ve => 100 zostanie umieszczone po 20, 20 - (30) = - ve => 30 zostanie umieszczone po 20, 20 - (0) = +ve => 0 zostanie umieszczone przed 20. Podobnie dla każdego elementu sprawdzamy i umieszczamy je odpowiednio w iteracjach. */ funkcja porównaj(a, b) { zwróć a - b; } konsola.log(liczby.sort(porównaj));>

Wyjście
[ -120, 0, 5.2, 20, 30, 100 ]>

Wyjaśnienie:

  • Thecompare>funkcja odejmujeb>za>. Jeśli wynik będzie negatywny,a>przychodzi wcześniejb>w posortowanej tablicy; jeśli pozytywne,b>przychodzi wcześnieja>; jeśli zero, ich względna kolejność pozostaje niezmieniona.
  • Udostępniając tę ​​niestandardową funkcję porównania dosort()>metoda JavaScript sortuje tablicęnumbers>na podstawie wartości liczbowych jego elementów.

Proszę przejść przez to Jak sortować tablicę numeryczną za pomocą JavaScript? , aby dowiedzieć się, jak działa funkcja sortowania tablicy JavaScript

Mamy pełną listę metod Javascript Array. Aby je sprawdzić, przejrzyj tę instrukcję Tablica JavaScript Pełne odniesienie artykuł.

Obsługiwane przeglądarki:

  • GoogleChrome
  • Krawędź
  • Internet Explorera
  • Firefoksa
  • Opera
  • Safari