Maison > interface Web > js tutoriel > Comment implémenter le tri à bulles en JavaScript de manière encapsulée

Comment implémenter le tri à bulles en JavaScript de manière encapsulée

零到壹度
Libérer: 2018-04-09 15:20:05
original
2376 Les gens l'ont consulté

Récemment, l'éditeur a étudié la vidéo JavaScript de Jiang Kun, qui parle de la méthode d'implémentation du tri à bulles en js, et obtient une bonne encapsulation et des changements flexibles. Pour un contenu spécifique, veuillez consulter le texte.

Code sans encapsulation

1. Une fois le code de base de ce code compris, il peut être complété facilement.

<script type="text/javascript">
	var arr=[1,6,3]; 
	//冒泡
	 for(var i=0;i<arr.length;i++){
           for(var j=0;j<arr.length-1-i;j++){
		     
			//核心排序
			if(arr[j]>arr[j+1]){
			   var t=arr[j];
			   arr[j]=arr[j+1];
			   arr[j+1]=t;
			  }
	    }

         }		 
			alert(arr);
			
</script>
Copier après la connexion

Affichage en cours d'exécution :

                                                                             Diagramme fonctionnel :

La partie sur le passage des paramètres détermine l'ordre croissant et méthodes décroissantes f. Il existe deux méthodes. La valeur par défaut est d'utiliser l'ordre croissant sans ajouter de paramètres de méthode f, le code suivant :

<script type="text/javascript">                                                                                           
	     var arr=[1,6,3];             
	 //冒泡--添加了封装性的方法
             var mySort=function(arr,f){
	      for(var i=0;i<arr.length;i++){
                for(var j=0;j<arr.length-1-i;j++){
		     
			//核心排序依据			
			  if(f(arr[j],arr[j+1])>0){
			  var t=arr[j];
				 arr[j]=arr[j+1];
				 arr[j+1]=t;
			   }
		  }
                }
             };	 
              //传两个参数,一个待排序的数组,一个方法(判断是升序还是降序)
Copier après la connexion
             //升序function(a,b){return a-b}; 
             mySort(arr,function(a,b){return b-a;});		
             alert(arr);
</script>
Copier après la connexion

Comparaison

En utilisant la méthode encapsulée, vous pouvez modifier de manière flexible la méthode de tri, l'ordre décroissant et ascendant. Il vous suffit de modifier les conditions lors de la définition de la méthode f, et la méthode de tri encapsulée peut être facilement appelée.

                 //默认使用升序
		 //默认不传参,f的值为undefined
Copier après la connexion
                 //第一种方法
		 f=f? f:function(a,b){return a-b;};
Copier après la connexion
Résumé
                 //第二种方法
		 //利用逻辑或的逻辑中断
		 //js中的逻辑或运算,参与运算的数据不是Boolean类型时,若第一个操作数为真,着表达式是第一个操作数据
		 //若第一个表达式为假,则返回第二个操作数的值
		 f=f||function(a,b){return a-b;};
Copier après la connexion

Concernant la méthode d'encapsulation, j'en ai acquis une bonne compréhension en JavaScript. Continuez à répéter,

Continuez à accumuler~~~

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal