Maison > Article > interface Web > La méthode Array.sort() de JavaScript est-elle stable sur tous les navigateurs ?
Introduction
Le tri des tableaux est une opération fondamentale en JavaScript. Cependant, la stabilité de la méthode Array.sort() varie selon les navigateurs.
Script ECMA et stabilité
La spécification ECMA Script ne définit pas d'algorithme de tri spécifique. ou spécifiez si le tri doit être stable. Cela signifie que différents navigateurs peuvent implémenter différentes approches, ce qui entraîne des caractéristiques de stabilité variables.
Stabilité sur des navigateurs spécifiques
Exemple de cas de test
Pour démontrer la stabilité de la méthode de tri, un cas de test impliquant des paires de valeurs peut être créé :
<code class="javascript">function Pair(_x, _y) { this.x = _x; this.y = _y; } function pairSort(a, b) { return a.x - b.x; } var check = []; for (var i = 0; i < 100; ++i) { check.push(new Pair(Math.random() * 3 + 1, ++y)); } check.sort(pairSort);</code>
Si le tri est stable, les valeurs seront triées en fonction de leurs valeurs x d'abord, puis de leurs valeurs y, de telle sorte que l'ordre d'origine des valeurs avec la même valeur x est préservé. À l'inverse, un tri instable peut entraîner des ordres différents pour les valeurs ayant la même valeur x.
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!