Maison >interface Web >js tutoriel >`Array.sort()` est-il stable sur différents navigateurs ?

`Array.sort()` est-il stable sur différents navigateurs ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 11:42:02415parcourir

Is `Array.sort()` Stable Across Different Browsers?

La stabilité de la méthode Array.sort() dans différents navigateurs

La spécification ECMA Script laisse le choix de l'algorithme de tri et de la stabilité à l'implémentation du navigateur. En tant que tel, la stabilité d'Array.sort() varie selon les différents navigateurs.

Évaluation de la stabilité du navigateur :

IE6 : Stable

Firefox :

  • < 3 : Instable
  • >= 3 : Stable

Chrome :

  • < 70 : Instable
  • >= 70 : Stable

Opéra :

  • < 10 : Instable
  • >= 10 : Stable

Safari :

  • 4 : Stable

Bord :

  • Stable pour les tableaux de moins de 512 éléments
  • Instable pour les tableaux plus longs

Tri stable ou instable :

Un algorithme de tri stable maintient l'ordre relatif des éléments égaux. Dans un tri instable, l'ordre des éléments égaux peut être inversé après le tri.

Implications de la stabilité :

L'instabilité de Array.sort() dans certaines versions de navigateur peut affecter la fiabilité du code de tri. Par exemple, lors d'un tri selon plusieurs critères, l'instabilité peut conduire à des résultats imprévisibles.

Ressources supplémentaires :

  • [Implémentation d'un algorithme de tri rapide et stable en JavaScript]( https://www.rosettacode.org/wiki/Sorting_algorithms/Counting_sort#JavaScript)
  • [Cas de test pour identifier le comportement de l'algorithme de tri du V8](https://gist.github.com/cowboy/1672257)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn