jsシミュレーションでArayのsort方法を実現しました。
JavaScriptのArayオブジェクトは配列要素の並べ替えを実現するためのsort方法があります。この方法は標準的に配列項目ASCIIに従っています。 文字列を昇順に並べます。
[6,7,9,1,-1].sort();実行後の配列は[-1,1,6,7,9]に変わります。
降順配列または非文字列配列が必要な場合、この方法はうまく実行できません。
もちろん、sortにはオプションのパラメータがあります。この問題を解決してくれます。sortのために関数が入ってきます。sortは関数の戻り値によって並べ替えられます。
配列は、関数のデフォルトの着信配列の2つの要素であり、例えば、着信a、bのように、関数の戻り値が0より大きい場合、順序付けはb、a、戻り値が0より小さい場合、順序付けの結果はa、bである。
具体的な意味はよく説明できません。最初は私もこのsortについてどのように並べられているのか分かりませんでした。
その実現過程がわかれば、彼の序列原理が分かります。
sortの実現は、実は簡単な泡立ちのようです。
私は今日それをシミュレーションしました。この関数を読めば、あなたはきっとsortの原理が分かります。
以上は小编が绍介したjsシミュレーションでArayのsort方法を実现しました。皆さんのために何かご质问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
[6,7,9,1,-1].sort();実行後の配列は[-1,1,6,7,9]に変わります。
降順配列または非文字列配列が必要な場合、この方法はうまく実行できません。
もちろん、sortにはオプションのパラメータがあります。この問題を解決してくれます。sortのために関数が入ってきます。sortは関数の戻り値によって並べ替えられます。
配列は、関数のデフォルトの着信配列の2つの要素であり、例えば、着信a、bのように、関数の戻り値が0より大きい場合、順序付けはb、a、戻り値が0より小さい場合、順序付けの結果はa、bである。
具体的な意味はよく説明できません。最初は私もこのsortについてどのように並べられているのか分かりませんでした。
その実現過程がわかれば、彼の序列原理が分かります。
sortの実現は、実は簡単な泡立ちのようです。
私は今日それをシミュレーションしました。この関数を読めば、あなたはきっとsortの原理が分かります。
<script type="text/javascript">
<!--
var myarray = new Array(8,6,7,9,1,-1,4);
var myarray1 = new Array(8,6,7,9,1,-1,4);
var sortAsc = function(x,y) { return x-y; };
var sortDesc = function(x,y) { return y-x; };
Array.prototype.st=function(fn){
var t;
fn=fn||function(x,y){return x-y};
for(var i=0;i<this.length;i++){
for(var j=i;j<this.length;j++){
if(fn(this[i],this[j])>0){
t=this[i];
this[i]=this[j];
this[j]=t;
}
}
}
}
myarray.st();
alert(" :"+myarray);
myarray.st(sortDesc);
alert(" :"+myarray);
myarray.st(sortAsc);
alert(" :"+myarray);
myarray1.sort(function(){return 1}); // :js sort ,
alert(" :"+myarray1);
//-->
</script>
締め括りをつける以上は小编が绍介したjsシミュレーションでArayのsort方法を実现しました。皆さんのために何かご质问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。