Supposons que je veuille une fonction de tri qui renvoie une copie triée du tableau entré. J'ai naïvement essayé ceci
function sort(arr) {
return arr.sort();
}
et je l'ai testé avec ceci, qui montre que mon sort
est en train de muter le tableau.
var a = [2,3,7,5,3,7,1,3,4];
sort(a);
alert(a); //alerts "1,2,3,3,3,4,5,7,7"
J'ai également essayé cette approche
function sort(arr) {
return Array.prototype.sort(arr);
}
mais ça ne fonctionne pas du tout.
Existe-t-il un moyen simple de contourner ce problème, de préférence un moyen qui ne nécessite pas de faire tourner à la main mon propre algorithme de tri ou de copier chaque élément du tableau dans un nouveau tableau ?