A rendezési módszer arra szolgál, hogy egy tömbben különféle elemeket rendezzenek meghatározott sorrendben.
Szintaxis
A rendezési módszer általános szintaxisa:
sor.fajta();Ez a módszer alapértelmezés szerint növekvő sorrendben adja vissza a rendezett tömböt.
Megbeszélnénk néhány példát a rendezési módszer megértéséhez a JavaScript-ben.
Példák
Feltételezzük, hogy egy tömb karakterláncot használunk, amelyben a Linux operációs rendszerek különböző neve van.
let arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Most, ha a rendezési módszert alkalmazzuk erre a tömbre:
arr.fajta();Ez mindenképpen ábécé sorrendbe fogja rendezni a tömböt. A kimenetet az alábbi képernyőképen láthatjuk.
De ha fordított / csökkenő sorrendben akarjuk megadni a karakterláncot. Alkalmazhatunk egy Javascript beépített fordított függvényt a rendezett tömb felett, így:
var sortedArray = arr.fajta();sortedArray.fordított();
A fordított eljárás rövidebb módja:
arr.fajta().fordított();Rendben! Remekül működött a húrnál. Próbáljuk meg, hogy a számoknál is működik-e.
Tehát először feltételezzük a számok tömbjét.
Ezután alkalmazza a rendezési módszert a számtömbre.
arr.fajta();Úgy tűnik, nem működött jól, mint a húrnál. Mivel a rendezési módszer először átalakítja a számokat karakterláncokká, majd az Unicode alapján rendezi. Bár a „8” numerikus sorrendben a „14” elé kerül. De az UTF-16 kódegységek sorrendjében a „14” a „8” elé kerül. A jó dolog a Javascriptben, erre megkaptuk a megoldást.
CompareFunction
Itt jön az összehasonlító függvény fogalma, amely jól jön a számok rendezésében. Visszahívási funkcióként használhatunk egy összehasonlító függvényt a rendezési módszerhez, amely két elemet vesz fel. Ezután az összehasonlító függvény követelménye szerint rendezi őket, és visszaadja őket a rendezési módszerre, folyamatosan ezt csinálva, amíg el nem éri a tömb végét.
A sortFunkció szintaxisa az összehasonlítás funkcióval a következő lenne:
sor.sort (összehasonlít Funkció);Most, ha megnézzük az összehasonlításFunkció technikai részleteit, akkor valójában ez működik. Ha nem adunk összehasonlítási funkciót a rendezési módszerhez, akkor az az UTF-16 kódegység-rendelések szerint fog rendezni. Ha az összehasonlító függvényt használjuk, akkor az összes elemet az összehasonlítás függvény visszatérési értékének megfelelően rendezik. Tehát, ha összehasonlító függvényt akarunk írni a számokhoz. Ez pontosan így lenne:
függvény (a, b) return a - bA CompareFunction egyszerre két értéket vesz fel, és háromféle értéket ad vissza.
Igaz vagy „1”, ha az első érték a második érték előtt áll, vagy az első érték nagyobb, mint a második érték:
Hamis vagy „-1”, ha az első érték a második után következik, vagy ha az első nagyobb, mint a második érték.
És „0”, ha két érték egyenlő.
Most, ha megpróbáljuk alkalmazni a számtömb rendezéséhez. Így alkalmazhatjuk:
arr.rendezés (függvény (a, b) return a - b)Amint az a kimeneten látható, a számokat tartalmazó tömböt rendezetten rendezték.
Ugyanannak a feladatnak a rövidebb módja a következő:
arr.rendezés ((a, b) => a - b)De ez csak a számok összehasonlítására szolgál.
A rendezési módszerrel objektumok tömbjét is rendezhetjük az objektum értékeitől függően, amelyet rendezni akarunk az objektumok tömbjében. Ha feltételezzük, hogy a felhasználók száma alapján szeretnénk rendezni egy sor objektumot, amelyekben minden objektum tartalmazza a Linux operációs rendszert és a felhasználók számát, akkor a következőket fogjuk használni:
arr = [név: "Ubuntu", felhasználók: 3000
név: "Fedora", felhasználók: 1500
név: "CentOS", felhasználók: 2000
name: "Debian", felhasználók: 5000
név: "Kali Linux", felhasználók: 4000
]
Tehát annak érdekében, hogy a felhasználók alapján válogasson. A rendezési funkció a következő lenne:
arr.sort (() => return a.felhasználók - b.felhasználók)Tehát ezek a különböző módszerek a rendezési módszer használatával bármilyen típusú tömbök rendezéséhez.
Következtetés
Ebben a cikkben megtudtuk, hogyan rendezhetünk különféle típusú tömböt a Javascript beépített rendezési funkciójával. Ez a cikk nagyon egyszerű, mélyreható és hatékony módon elmagyarázza a rendezési függvény fogalmát a kezdőtől a középszintig. Tehát tovább tanuljon, dolgozzon és szerezzen tapasztalatokat a Javascript használatával linuxhint.com hogy jobban megértsem. Nagyon szépen köszönöm.