Taulukoiden Lajittelu Sort()-Metodilla
sort()
sort()-metodi järjestää taulukon alkiot paikan päällä ja palauttaa päivitetyn taulukon. Oletuksena lajittelu toimii hyvin merkkijonoille, mutta voi käyttäytyä odottamattomasti numeroiden kanssa.
Oletuslajittelun toiminta
sort()-metodi muuntaa alkiot oletuksena merkkijonoiksi ja vertaa niitä Unicode-järjestyksessä. Tämän vuoksi se toimii luonnollisesti merkkijonoille, mutta numeeriset taulukot voivat tuottaa odottamattomia tuloksia, ellei anneta vertailufunktiota.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
Jotta numerot lajitellaan oikein, käytä vertailufunktiota:
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
Mukautetut lajittelujärjestykset
Lajittelun räätälöimiseksi käytetään palautefunktiota. Tätä funktiota kutsutaan usein vertailufunktioksi, ja se määrittää lajittelulogiikan. Tarkastellaan mukautettua lajittelua sekä numeroille että merkkijonoille. Perussyntaksi:
array.sort((a, b) => {
// Callback body
});
atarkoittaa ensimmäistä alkiota;btarkoittaa toista alkiota.
Numeroiden lajittelu
Tässä tapauksessa vertailufunktio määrittää nousevan ja laskevan järjestyksen elementtien a ja b välisen suhteen perusteella.
1234567const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
Merkkijonojen lajittelu
localeCompare()-menetelmä mahdollistaa aakkosellisen lajittelun sekä nousevassa että laskevassa järjestyksessä.
1234567const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
1. Mikä on sort()-menetelmän keskeinen ominaisuus?
2. Miten sort()-menetelmä käsittelee alkioita oletusarvoisesti?
3. Alla olevassa esimerkissä, mikä on tuloste?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.27
Taulukoiden Lajittelu Sort()-Metodilla
Pyyhkäise näyttääksesi valikon
sort()
sort()-metodi järjestää taulukon alkiot paikan päällä ja palauttaa päivitetyn taulukon. Oletuksena lajittelu toimii hyvin merkkijonoille, mutta voi käyttäytyä odottamattomasti numeroiden kanssa.
Oletuslajittelun toiminta
sort()-metodi muuntaa alkiot oletuksena merkkijonoiksi ja vertaa niitä Unicode-järjestyksessä. Tämän vuoksi se toimii luonnollisesti merkkijonoille, mutta numeeriset taulukot voivat tuottaa odottamattomia tuloksia, ellei anneta vertailufunktiota.
123const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
Jotta numerot lajitellaan oikein, käytä vertailufunktiota:
1234const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
Mukautetut lajittelujärjestykset
Lajittelun räätälöimiseksi käytetään palautefunktiota. Tätä funktiota kutsutaan usein vertailufunktioksi, ja se määrittää lajittelulogiikan. Tarkastellaan mukautettua lajittelua sekä numeroille että merkkijonoille. Perussyntaksi:
array.sort((a, b) => {
// Callback body
});
atarkoittaa ensimmäistä alkiota;btarkoittaa toista alkiota.
Numeroiden lajittelu
Tässä tapauksessa vertailufunktio määrittää nousevan ja laskevan järjestyksen elementtien a ja b välisen suhteen perusteella.
1234567const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
Merkkijonojen lajittelu
localeCompare()-menetelmä mahdollistaa aakkosellisen lajittelun sekä nousevassa että laskevassa järjestyksessä.
1234567const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
1. Mikä on sort()-menetelmän keskeinen ominaisuus?
2. Miten sort()-menetelmä käsittelee alkioita oletusarvoisesti?
3. Alla olevassa esimerkissä, mikä on tuloste?
Kiitos palautteestasi!