Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Sortering av Arrayer med sort()-Metoden | Avancerade Arraymetoder och Transformationer
Practice
Projects
Quizzes & Challenges
Frågesporter
Challenges
/
Javascript Datastrukturer

bookSortering av Arrayer med sort()-Metoden

sort()

Metoden sort() omarrangerar elementen i en array på plats och returnerar den uppdaterade arrayen. Som standard fungerar sortering bra för strängar men kan ge oväntade resultat med tal.

Standardbeteende för sortering

Metoden sort() konverterar elementen till strängar som standard och jämför dem i Unicode-ordning. Därför fungerar den naturligt för strängar, men numeriska arrayer kan ge oväntade resultat om du inte tillhandahåller en jämförelsefunktion.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

För att sortera tal korrekt, använd en jämförelsefunktion:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Anpassade sorteringsordningar

För att anpassa sorteringen efter specifika behov används en callback-funktion. Denna funktion, ofta kallad jämförelsefunktion, bestämmer sorteringslogiken. Här undersöks anpassad sortering för både tal och strängar. Grundläggande syntax:

array.sort((a, b) => {
  // Callback body
});
  • a betraktas som det första elementet;
  • b betraktas som det andra elementet.

Sortera tal

I detta fall bestämmer jämförelsefunktionen stigande och fallande ordning baserat på relationen mellan elementen a och b.

1234567
const 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
copy

Sortera strängar

Metoden localeCompare() möjliggör alfabetisk sortering och tillåter anpassning för både stigande och fallande ordning.

1234567
const 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
copy

1. Vad är en nyckeleigenskap hos metoden sort()?

2. Hur behandlar sort()-metoden element vid standard sortering?

3. I exemplet nedan, vad kommer att skrivas ut?

question mark

Vad är en nyckeleigenskap hos metoden sort()?

Select the correct answer

question mark

Hur behandlar sort()-metoden element vid standard sortering?

Select the correct answer

question mark

I exemplet nedan, vad kommer att skrivas ut?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

bookSortering av Arrayer med sort()-Metoden

Svep för att visa menyn

sort()

Metoden sort() omarrangerar elementen i en array på plats och returnerar den uppdaterade arrayen. Som standard fungerar sortering bra för strängar men kan ge oväntade resultat med tal.

Standardbeteende för sortering

Metoden sort() konverterar elementen till strängar som standard och jämför dem i Unicode-ordning. Därför fungerar den naturligt för strängar, men numeriska arrayer kan ge oväntade resultat om du inte tillhandahåller en jämförelsefunktion.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

För att sortera tal korrekt, använd en jämförelsefunktion:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Anpassade sorteringsordningar

För att anpassa sorteringen efter specifika behov används en callback-funktion. Denna funktion, ofta kallad jämförelsefunktion, bestämmer sorteringslogiken. Här undersöks anpassad sortering för både tal och strängar. Grundläggande syntax:

array.sort((a, b) => {
  // Callback body
});
  • a betraktas som det första elementet;
  • b betraktas som det andra elementet.

Sortera tal

I detta fall bestämmer jämförelsefunktionen stigande och fallande ordning baserat på relationen mellan elementen a och b.

1234567
const 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
copy

Sortera strängar

Metoden localeCompare() möjliggör alfabetisk sortering och tillåter anpassning för både stigande och fallande ordning.

1234567
const 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
copy

1. Vad är en nyckeleigenskap hos metoden sort()?

2. Hur behandlar sort()-metoden element vid standard sortering?

3. I exemplet nedan, vad kommer att skrivas ut?

question mark

Vad är en nyckeleigenskap hos metoden sort()?

Select the correct answer

question mark

Hur behandlar sort()-metoden element vid standard sortering?

Select the correct answer

question mark

I exemplet nedan, vad kommer att skrivas ut?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 7
some-alt