Kürzlich studiert der Redakteur das JavaScript-Video von Jiang Kun, in dem es um die Implementierung der Blasensortierung in js geht und eine gute Kapselung und flexible Änderungen erzielt werden. Den konkreten Inhalt entnehmen Sie bitte dem Text.
Code ohne Kapselung
1. Sobald der Kerncode in diesem Code verstanden ist, kann er problemlos vervollständigt werden.
<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>
Laufanzeige:
> Laufdiagramm:
Der Teil über die Übergabe von Parametern bestimmt die Steigung und absteigende Methoden f. Es gibt zwei Methoden, die aufsteigende Reihenfolge verwenden, ohne f-Methodenparameter hinzuzufügen:
<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=f? f:function(a,b){return a-b;};
//第二种方法 //利用逻辑或的逻辑中断 //js中的逻辑或运算,参与运算的数据不是Boolean类型时,若第一个操作数为真,着表达式是第一个操作数据 //若第一个表达式为假,则返回第二个操作数的值 f=f||function(a,b){return a-b;};
Was die Kapselungsmethode betrifft, habe ich ein gutes Verständnis davon in JavaScript erlangt. Immer wieder wiederholen, Immer weiter ansammeln~~~
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Blasensortierung in JavaScript auf gekapselte Weise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!