Tablice: Sortowanie i Odwracanie

Javascript
Priorytet: Normalny Szkic

Zadanie 4.6: Sortowanie

Wstęp

Ułożenie danych alfabetycznie lub od najmniejszej do największej to standard. W JavaScript służy do tego metoda .sort(). Ma ona jednak pewien "haczyk", o którym musisz wiedzieć.

Cel zadania

Poprawne sortowanie tablic z napisami oraz (co ważniejsze) tablic z liczbami.

Problem sortowania liczb

Domyślnie .sort() traktuje wszystko jak tekst. Porównując teksty, "100" jest mniejsze niż "2", bo "1" < "2".

const numbers = [2, 100, 5];
numbers.sort();
console.log(numbers); // Wynik: [100, 2, 5] - BŁĄD! (Sortowanie leksykograficzne)

Aby to naprawić, musimy podać funkcję porównującą:

// Sortowanie rosnące (a - b)
numbers.sort((a, b) => a - b); 
console.log(numbers); // [2, 5, 100] - OK!

// Sortowanie malejące (b - a)
numbers.sort((a, b) => b - a);

[!WARNING] Metoda .sort() mutuje tablicę (zmienia oryginał). Jeśli chcesz zachować oryginał, zrób najpierw kopię (np. [...tablica].sort()).

Kroki do wykonania

1. Sortowanie imion (Tekst)

Stwórz tablicę imion: ["Zenon", "Adam", "Monika"]. Posortuj ją alfabetycznie i wypisz.

2. Sortowanie wyników (Liczby)

Stwórz tablicę punktów: [1000, 5, 200, 33]. Posortuj ją malejąco (od najlepszego wyniku). Pamiętaj o funkcji porównującej (a, b) => b - a.

3. Odwracanie kolejności

Metoda .reverse() odwraca tablicę (pierwszy element staje się ostatnim). Użyj jej na posortowanej wcześniej tablicy imion.

Zadanie dla chętnych: Sortowanie obiektów

Masz listę produktów:

const products = [
    { name: "Laptop", price: 3000 },
    { name: "Myszka", price: 50 },
    { name: "Klawiatura", price: 150 }
];

Posortuj ją według ceny rosnąco. Wskazówka: products.sort((a, b) => a.price - b.price).

[!IMPORTANT] Commit: Zadanie 4.6 - Sortowanie liczb i stringów.