>웹 프론트엔드 >JS 튜토리얼 >캡슐화된 방식으로 JavaScript에서 버블 정렬을 구현하는 방법

캡슐화된 방식으로 JavaScript에서 버블 정렬을 구현하는 방법

零到壹度
零到壹度원래의
2018-04-09 15:20:052345검색

최근 편집자는 JS에서 버블 정렬을 구현하는 방법에 대해 설명하고 좋은 캡슐화와 유연한 변경을 달성하는 Jiang Kun의 JavaScript 동영상을 연구하고 있습니다. 구체적인 내용은 본문을 참조하세요.

캡슐화되지 않은 코드

1. 이 코드의 핵심 코드를 이해하면 쉽게 완성할 수 있습니다.

<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>

                                                                                                                  

매개변수 전달 부분에서 오름차순 또는 내림차순 f를 결정하는 두 가지 방법이 있습니다. 메소드 구현에서는 f의 메소드 매개변수를 추가하지 않고 기본적으로 오름차순을 사용합니다.

<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;
			   }
		  }
                }
             };	 
              //传两个参数,一个待排序的数组,一个方法(判断是升序还是降序)
             //升序function(a,b){return a-b}; 
             mySort(arr,function(a,b){return b-a;});		
             alert(arr);
</script>
                 //默认使用升序
		 //默认不传参,f的值为undefined

비교

캡슐화 방식을 사용하여 정렬 방식, 내림차순, 오름차순을 유연하게 변경할 수 있습니다. f 메소드를 정의할 때 조건을 변경하기만 하면 캡슐화된 정렬 메소드를 쉽게 호출할 수 있습니다.

Summary

Encapsulation 방식에 대해서는 JavaScript로 잘 이해하게 되었습니다.

계속 반복,

계속 쌓이세요~~~

위 내용은 캡슐화된 방식으로 JavaScript에서 버블 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.