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

零到壹度
풀어 주다: 2018-04-09 15:20:05
원래의
2294명이 탐색했습니다.

최근 편집자는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!