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 :
(a, b) => b - a. - Pas de bibliothèque externe.
- Utiliser
console.logpour l'affichage.
Exemple
const arr = [5, 2, 9, 1, 7];
const sorted = [...arr].sort((a, b) => b - a);
console.log(sorted);
console.log(arr);
[ 9, 7, 5, 2, 1 ]
[ 5, 2, 9, 1, 7 ]
arr conserve son ordre d'origine ; seul sorted est trié.