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