tilbage til lektionen

Kopier og sorter array

vigtighed: 5

Vi har et array af strenge arr. Vi vil gerne have en sorteret kopi af det, men beholde arr uændret.

Lav en funktion copySorted(arr), der returnerer en sådan kopi.

let arr = ["HTML", "JavaScript", "CSS"];

let sorted = copySorted(arr);

alert( sorted ); // CSS, HTML, JavaScript
alert( arr ); // HTML, JavaScript, CSS (ingen ændring)

Vi kan bruge slice() til at lave en kopi og køre sorteringen på den:

function copySorted(arr) {
  return arr.slice().sort();
}

let arr = ["HTML", "JavaScript", "CSS"];

let sorted = copySorted(arr);

alert( sorted );
alert( arr );

P.S: Der findes en metode der hedder toSorted, som laver en sorteret kopi af et array uden at ændre det originale array. Den er en del af den nye ECMAScript-standard og er tilgængelig i moderne JavaScript-miljøer.