Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sortering af Arrays med sort()-Metoden | Avancerede Array-metoder og Transformationer
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
Javascript Datastrukturer

bookSortering af Arrays med sort()-Metoden

sort()

Metoden sort() omarrangerer elementerne i et array på stedet og returnerer det opdaterede array. Som standard fungerer sortering godt for strenge, men kan opføre sig uventet med tal.

Standard sorteringsadfærd

Metoden sort() konverterer som standard elementer til strenge og sammenligner dem i Unicode-rækkefølge. Derfor fungerer den naturligt for strenge, men numeriske arrays kan give uventede resultater, medmindre du angiver en sammenligningsfunktion.

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

For at sortere tal korrekt, anvendes en sammenligningsfunktion:

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

Tilpassede sorteringsrækkefølger

For at tilpasse sorteringen til specifikke behov anvendes en callback-funktion. Denne funktion, ofte kaldet en sammenligningsfunktion, bestemmer sorteringslogikken. Lad os undersøge tilpasset sortering for både tal og strenge. Grundlæggende syntaks:

array.sort((a, b) => {
  // Callback body
});
  • a betragtes som det første element;
  • b betragtes som det andet element.

Sortér tal

I dette tilfælde bestemmer compare-funktionen stigende og faldende rækkefølge baseret på forholdet mellem elementerne a og 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

Sortér strenge

Metoden localeCompare() muliggør alfabetisk sortering og tillader tilpasning til både stigende og faldende rækkefølge.

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. Hvad er en nøgleegenskab ved sort()-metoden?

2. Hvordan behandler sort()-metoden elementer i sin standard sorteringsadfærd?

3. I eksemplet nedenfor, hvad vil outputtet være?

question mark

Hvad er en nøgleegenskab ved sort()-metoden?

Select the correct answer

question mark

Hvordan behandler sort()-metoden elementer i sin standard sorteringsadfærd?

Select the correct answer

question mark

I eksemplet nedenfor, hvad vil outputtet være?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 7

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookSortering af Arrays med sort()-Metoden

Stryg for at vise menuen

sort()

Metoden sort() omarrangerer elementerne i et array på stedet og returnerer det opdaterede array. Som standard fungerer sortering godt for strenge, men kan opføre sig uventet med tal.

Standard sorteringsadfærd

Metoden sort() konverterer som standard elementer til strenge og sammenligner dem i Unicode-rækkefølge. Derfor fungerer den naturligt for strenge, men numeriske arrays kan give uventede resultater, medmindre du angiver en sammenligningsfunktion.

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

For at sortere tal korrekt, anvendes en sammenligningsfunktion:

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

Tilpassede sorteringsrækkefølger

For at tilpasse sorteringen til specifikke behov anvendes en callback-funktion. Denne funktion, ofte kaldet en sammenligningsfunktion, bestemmer sorteringslogikken. Lad os undersøge tilpasset sortering for både tal og strenge. Grundlæggende syntaks:

array.sort((a, b) => {
  // Callback body
});
  • a betragtes som det første element;
  • b betragtes som det andet element.

Sortér tal

I dette tilfælde bestemmer compare-funktionen stigende og faldende rækkefølge baseret på forholdet mellem elementerne a og 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

Sortér strenge

Metoden localeCompare() muliggør alfabetisk sortering og tillader tilpasning til både stigende og faldende rækkefølge.

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. Hvad er en nøgleegenskab ved sort()-metoden?

2. Hvordan behandler sort()-metoden elementer i sin standard sorteringsadfærd?

3. I eksemplet nedenfor, hvad vil outputtet være?

question mark

Hvad er en nøgleegenskab ved sort()-metoden?

Select the correct answer

question mark

Hvordan behandler sort()-metoden elementer i sin standard sorteringsadfærd?

Select the correct answer

question mark

I eksemplet nedenfor, hvad vil outputtet være?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 7
some-alt