#03_sortowanie
#Rosnąco
JSconst liczby = [5,1,8,2];
liczby.sort((a,b) => a - b);
#Malejąco
JSconst liczby = [5,1,8,2];
liczby.sort((a,b) => b - a);
#Tekst A-Z
JSconst imiona = ["Kuba","Adam","Ola"];
imiona.sort();
#Tekst Z-A
JSconst imiona = ["Kuba","Adam","Ola"];
imiona.sort().reverse();
#Obiekty po cenie
JSconst produkty = [
{nazwa:"Monitor", cena:700},
{nazwa:"Myszka", cena:50},
{nazwa:"Klawiatura", cena:120}
];
produkty.sort(
(a,b) => a.cena - b.cena
);
#Obiekty po nazwie
JSprodukty.sort(
(a,b) => a.nazwa.localeCompare(b.nazwa)
);
#React sortowanie produktów
REACTconst [produkty, setProdukty] = useState([...]);
function sortujRosnaco() {
const posortowane = [...produkty].sort(
(a,b) => a.cena - b.cena
);
setProdukty(posortowane);
}
#Sortowanie po wieku
JSconst osoby = [
{imie:"Kuba", wiek:18},
{imie:"Adam", wiek:25},
{imie:"Ola", wiek:16}
];
osoby.sort(
(a,b) => a.wiek - b.wiek
);
#Sortowanie dat
JSconst daty = [
"2025-01-01",
"2024-03-15",
"2026-07-20"
];
daty.sort(
(a,b) => new Date(a) - new Date(b)
);
#Sortowanie + filter + map
JSconst produkty = [
{nazwa:"Myszka", cena:50},
{nazwa:"Monitor", cena:700},
{nazwa:"Klawiatura", cena:120}
];
const wynik = produkty
.filter(x => x.cena > 100)
.sort((a,b) => a.cena - b.cena)
.map(x => x.nazwa);
#Egzaminowy przykład
JSconst osoby = [
{imie:"Kuba", punkty:80},
{imie:"Adam", punkty:40},
{imie:"Ola", punkty:95}
];
const wynik = osoby
.sort((a,b) => b.punkty - a.punkty);
console.log(wynik);