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.