La méthode Array.sort() est un outil puissant pour trier des tableaux dans ordre croissant ou décroissant. Cependant, la stabilité de cette méthode, qui garantit que les éléments de valeurs égales conservent leur ordre relatif d'origine, n'est pas garantie par la spécification ECMAScript.
Firefox a systématiquement utilisé un algorithme de tri stable, garantissant que les éléments ayant la même valeur conservent leur ordre relatif après le tri.
Internet Explorer a également implémenté un algorithme de tri stable. algorithme de tri, préservant l'ordre d'origine des éléments avec des valeurs égales.
L'algorithme de tri de Chrome a évolué au fil du temps. Avant la version 70, Chrome utilisait un tri instable pour les tableaux plus grands, ce qui pouvait entraîner une réorganisation des éléments ayant la même valeur. Cependant, dans les versions 70 et ultérieures de Chrome, l'algorithme de tri a été modifié pour être stable pour les grands et les petits tableaux.
Safari a implémenté un algorithme de tri stable, garantissant que les éléments avec les valeurs égales restent dans leur ordre d'origine.
Depuis ECMAScript 2019, la méthode de tri doit être stable. Cependant, dans les versions antérieures d'ECMAScript (ES2018 et antérieures), la stabilité de la méthode de tri n'était pas explicitement spécifiée, ce qui permettait aux navigateurs individuels de choisir leur propre implémentation.
La stabilité du La méthode Array.sort() varie selon les différents navigateurs. Firefox, IE 6/7/8, Chrome versions 70 et ultérieures et Safari offrent tous un comportement de tri stable. Cependant, les versions de Chrome antérieures à 70 utilisaient un algorithme de tri instable pour les grands tableaux. Il est important d'être conscient de ces différences spécifiques au navigateur lors de l'utilisation de la méthode Array.sort().
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!