3-8的第一位同學的代碼,看不懂?
? ? //按照字符數排序
? ? arr.sort(function(a, b){
? ? ? ? if(a.length > b.length){
? ? ? ? ? ? return 1
? ? ? ? }else if(a.length < b.length){
? ? ? ? ? ? return -1
? ? ? ? }else{
? ? ? ? ? ? return 0
? ? ? ? }
? ? })
? ??
這段排序代碼怎么解釋啊,為什么sort()里面寫function
2016-08-02
他把函數直接定義在sort()所需參數中了,因為sort泵就需要一個參數來確定如何排序的
相當于:
? //按照字符數排序
function s(a,b){
?if(a.length > b.length){
? ? ? ? ? ? return 1
? ? ? ? }else if(a.length < b.length){
? ? ? ? ? ? return -1
? ? ? ? }else{
? ? ? ? ? ? return 0
? ? ? ? }
}
? ? arr.sort(s(a, b));
2016-08-02
<script type="text/javascript">
?function sortNum(a,b) {
?return a - b;
//升序,如降序,把“a - b”該成“b - a”
}
var myarr = new Array("80","16","50","6","100","1");
?document.write(myarr + "<br>");
?document.write(myarr.sort(sortNum));
</script>
給sort加函數規定它的排序。。大概就是這樣,第一次回答,不知道能不能幫到你
2016-08-02
sort()里面寫function是因為sort方法中有一個排序規則,規定了排序的方式。不加這個函數,默認的sort()方法會按unicode碼順序排列。這里的function規定了按字符的長度進行排序的規則。
2016-08-02
function定義函數的關鍵字