JavaScripti

Javascripti sortimine

Javascripti sortimine
Kuna peame massiive haldama peaaegu kõigis programmeerimiskeeltes, siis pole JavaScript erinev. Massiive kasutatakse tavaliselt andmete, nagu stringid, numbrid, objektid ja määratlemata, salvestamiseks. Veebiandmete hüppelise kasvu korral peame andmeid sageli haldama ja sortima. Sorteerimine on omamoodi tohutu kogemus peaaegu igas programmeerimiskeeles. Õige sorteerimise jaoks on vaja palju vaeva, masina võimsust ja arvutusi. Andmete laienemisega peame andmed ilusal viisil sorteerima ja struktureerima. Javascript pakub massiivide sorteerimiseks sisseehitatud massiivimutori meetodi sort (). Selles artiklis heidame pilgu Javascripti sisseehitatud sort () meetodile ja saame teada, mis on Javascripti sortimismeetod, aga ka seda, kuidas saaksime seda kasutada massiivi elementide sortimiseks. Lähme edasi ja hakkame tööle!

The sortimismeetod kasutatakse massiivi erinevate elementide paigutamiseks kindlas järjekorras.

Süntaks

Sorteerimismeetodi üldine süntaks on:

massiiv.sort ();

See meetod tagastab sorditud massiivi vaikimisi kasvavas järjekorras.

JavaScripti sortimismeetodi mõistmiseks arutame paari näidet.

Näited

Oletame stringide massiivi, milles meil on Linuxi opsüsteemide mõned erinevad nimed.

laske arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]

Kui nüüd rakendame selle massiivi jaoks sortimismeetodit:

arr.sort ();

See sorteerib massiivi kindlasti tähestikulises järjekorras. Väljundit näeme alloleval ekraanipildil.

Kuid kui tahame saada stringi vastupidises / kahanevas järjekorras. Sorteeritud massiivi kohal saame rakendada Javascripti sisseehitatud vastupidist funktsiooni:

var sortedArray = arr.sort ();
sortedArray.tagurpidi();

Lühem viis vastupidiseks on:

arr.sort ().tagurpidi();

Hästi! See töötas nööri jaoks hästi. Proovime, kas see töötab ka numbrite puhul.
Oletame kõigepealt arvude massiivi.

olgu arr = [14,8,33,27,6]

Seejärel rakendage arvude massiivi peale sortimismeetodit.

arr.sort ();

Tundub, et see ei töötanud hästi nagu stringi puhul. Kuna sortimismeetod teisendab arvud kõigepealt stringideks ja sorteerib seejärel Unicode'i põhjal. Kuigi „8“ tuleb numbrite järjekorras enne „14“. Kuid UTF-16 koodiühikute järjekorras on "14" enne "8". Hea asi Javascriptis, saime sellele lahenduse.

Võrdle funktsiooni

Siit tuleb võrdlusfunktsiooni mõiste, mis on abiks numbrite sorteerimisel. Tagasihelistamisfunktsioonina saame kasutada sortimismeetodi võrdlusfunktsiooni, mis võtab kaks elementi. Seejärel sorteerib nad need vastavalt meie funktsioonile võrdlusfunktsioonile ja tagastab need sortimismeetodile, tehes seda pidevalt, kuni jõuab massiivi lõpuni.

Sorteerimismeetodi süntaks võrdlusfunktsiooniga oleks selline:

massiiv.sort (võrdleFunktsioon);

Kui nüüd heita pilk võrdlusfunktsiooni tehnilistele üksikasjadele, siis see tegelikult töötabki. Kui me ei paku sorteerimismeetodiga võrdlusfunktsiooni, sorteeritakse see vastavalt UTF-16 koodiüksuste tellimustele. Kui kasutame võrdlusfunktsiooni, oleksid kõik elemendid sorditud vastavalt võrdlusfunktsiooni tagastusväärtusele. Niisiis, kui tahame kirjutada arvude võrdlusfunktsiooni. See oleks täpselt selline:

funktsioon (a, b) tagastab a - b

Võrdlusfunktsioon võtab korraga kaks väärtust ja tagastab kolme tüüpi väärtusi.
Tõene või „1”, kui esimene väärtus on enne teist väärtust või esimene väärtus on suurem kui teine ​​väärtus:
Väär või „-1”, kui esimene väärtus tuleb teise väärtuse järele või kui esimene väärtus on suurem kui teine ​​väärtus.
Ja “0”, kui kaks väärtust on võrdsed.

Kui proovime seda rakendada numbrimassiivi sorteerimiseks. Saame seda rakendada järgmiselt:

arr.sort (funktsioon (a, b) return a - b)

Nagu väljundist näete, on numbritega massiiv korralikult sorteeritud.

Lühem viis sama ülesande täitmiseks on järgmine:

arr.sort ((a, b) => a - b)

Kuid see töötab ainult numbrite võrdlemiseks.

Samuti saame sortimismeetodi abil sortida objektide massiivi sõltuvalt objekti väärtustest, mida soovime objektide massiivi sorteerida. Oletame, et me soovime sortida kasutajate arvu põhjal objektide massiivi, milles iga objekt sisaldab Linuxi operatsioonisüsteeme ja nende kasutajate arvu, siis kasutame järgmist:

arr = [
nimi: "Ubuntu", kasutajad: 3000
nimi: "Fedora", kasutajad: 1500
nimi: "CentOS", kasutajad: 2000
nimi: "Debian", kasutajad: 5000
nimi: "Kali Linux", kasutajad: 4000
]

Niisiis, kasutajate baasil sortimiseks. Sortimisfunktsioon oleks selline:

arr.sort (() => return a.kasutajad - b.kasutajad)

Niisiis on need erinevad viisid sortimismeetodi kasutamiseks mis tahes tüüpi massiivide sortimiseks.

Järeldus

Selles artiklis oleme õppinud, kuidas sorteerida erinevat tüüpi massiive Javascripti sisseehitatud sortimisfunktsiooni abil. Selles artiklis selgitatakse sorteerimisfunktsiooni mõistet algajast kesktasemeni väga lihtsalt, põhjalikult ja tõhusalt. Nii et jätkake Javascripti abil õppimist, töötamist ja kogemuste saamist linuxhint.com et sellest paremini aru saada. Tänan sind väga.

Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...
Vulkan Linuxi kasutajatele
Iga uue põlvkonna graafikakaartidega näeme, et mängude arendajad ületavad graafilise truuduse piire ja jõuavad fotorealismile ühe sammu lähemale. Kuid...
OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...