Défi
Énoncé
Soit le tableau arr = [5, 2, 9, 1, 7]. Produire un nouveau tableau sorted contenant les mêmes éléments triés en ordre décroissant, sans muter arr. Utiliser la syntaxe de copie superficielle [...arr].sort(...). Afficher sorted, puis afficher arr pour prouver qu'il est inchangé.
Contraintes
- ES2015+ (environnement Node.js 18 ou navigateur moderne).
- La copie doit utiliser le spread
[...arr]ouarr.slice()— pasArray.fromavec mapping. - Le comparateur de tri doit être explicite : sans comparateur,
sortcompare les éléments comme des chaînes de caractères et classe10avant9. - Pas de bibliothèque externe.
- Utiliser
console.logpour l'affichage.
Exemple
À partir de arr = [5, 2, 9, 1, 7], sortie attendue :
[ 9, 7, 5, 2, 1 ]
[ 5, 2, 9, 1, 7 ]
La seconde ligne est le vrai test : elle prouve que arr n'a pas été muté.