javascript - Comment comprendre le tri dans la disposition des tableaux
PHPz
PHPz 2017-05-19 10:11:03
0
3
608
        var fruit=[7,10,32,6,9,4];
        document.write(fruit+'<br>');
        fruit.sort(sortFun);
        document.write(fruit);
        function sortFun(ar1,ar2){
            if(ar1>ar2){
                return 1;
            }else if(ar1<ar2){
                return -1;
            }else{
                return 0;
            }
        }

Comment ce code organise-t-il les éléments du tableau ? S'il vous plaît, donnez-moi une explication détaillée. Merci

PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
巴扎黑

Pour vous aider à comprendre, vous pouvez essayer d'appeler directement la méthode de tri :

var fruit=[7,10,32,6,9,4];
fruit.sort();

Le résultat renvoyé est : [10, 32, 4, 6, 7, 9][10, 32, 4, 6, 7, 9]
而不是期待中的:[ 4, 6, 7, 9, 10, 32]

为什么会这样呢?
因为这是数组原型链上的sort()方法,即Array.prototype.sort()Au lieu de l'attendu : [4, 6, 7, 9, 10, 32] code>

Pourquoi cela se produit-il ?
Parce qu'il s'agit de la méthode sort() sur la chaîne de prototypes de tableau, c'est-à-dire Array.prototype.sort().

Comment étudier cette méthode sort() en profondeur :
1 Vous pouvez aller sur le document mdn https://developer.mozilla.org...
2 Vous pouvez aller dans "Javascript Advanced Programming", mais en mode avancé. le design n'est pas terminé

3. La méthode la plus violente est de lire le cahier des charges ECMA2015 : http://www.ecma-international...🎜4 Si vous sentez vraiment que c'est un casse-tête, vous pouvez lire le blog que j'ai écrit l'année dernière. et répétez 1,2, 3 étapes : http://www.jianshu.com/p/b50a...🎜J'espère que cela pourra vous aider...🎜
世界只因有你
 fruit.sort(sortFun);

sort 数组的排序方法;
 用法:
        var arr=[]; 
        arr.sort(function(a,b){
            
        })
        比如从小到大:
        var arr=[9,5,6]; 
        arr.sort(function(a,b){
            return a-b;
        })
        
       fruit.sort(sortFun);中的sortFun就相当于arr.sort(function(a,b){})
       中的function(a,b){};
       if(ar1>ar2){
                return 1;
            }else if(ar1<ar2){
                return -1;
            }else{
                return 0;
            }就相当于return a-b;
为情所困

Vous aurez peut-être besoin de cet article https://developer.mozilla.org...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal