Function vizsgalat (a, b) { return a-b; } szamok=new Array (30,54,12,32,121,32) ; rendezett=szamok. Sort (vizsgalat) ; document. Write (rendezett) JS. Ciklussal megy végig a számokon és cseréli a számokat a sort? Érthetően elmagyarázza nekem valaki?
Itt leírják (angolul)
Amikor létrehozol egy tömböt szám vagy szöveg elemekkel, a 'sort' alapértelmezésben szövegként rendez, így számoknál hibát ad ('25' nagyobb mint '100', mert az első karakter szerint rendez), ezért számok esetén így adhatod meg a 'sort' paramétereként, hogy emelkedő ('b-a' esetén csökkenő) sorrendben legyenek az elemek.
Addig értem, hogy a 40,100 ad dobja bele a function (a,b) -nak itt nincs feladata mert kisebb lesz (minusz érték mert az a-ból kivonja a b és ha az negatív akkor a sorrend marad.
A kérdés az, hogy ezen a tömbön végig megy mint egy cilkus?
Tehát a következő a (100,1) az megcseréli aztán a (100,5) azt is megcseréli.
Utána vissza megy az elejére és a (40,1) párosítás jön? Így halad jól gondolom, én így tudom elképzelni.
Többféle rendezési algoritmus van: [link]
Hogy az adott Javascript motor melyiket használja, az számodra tulajdonképpen lényegtelen, és ha jól tudom az ECMAscript standard nem is határozza meg közelebbről, hogy milyen algoritmust kell megvalósítani egy Javascript motorban. A lényeg, hogy minden rendezési algoritmus tartalmaz két elemet összehasonlító lépést. A sort meghívásával ezt az összehasonlító részt tudod megadni, akár teljesen egyedi rendezési elvet megadva. A Javascript motor lefuttatja az általa implementált keresőalgoritmust, az általad megadott összehasonlító függvényt használva.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!