實在是沒搞懂這里的函數具體啥意思?
<!DOCTYPE?html> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>Array對象?</title> <script?type="text/javascript"> ???function?sortNum(a,b)?{ ????????return?b-a; ???} ???function?sortnum(a,b){ ???????return?a-b;//可以采用a+b?a*b?a/b?這些嗎? ???} var?myarr?=?new?Array("80","16","50","6","100","1");//這個賦值方法不對嗎?希望給個鏈接。 document.write(myarr.sort()+"<br?/>"); document.write(myarr.sort(sortNum)+"<br?/>"); document.write(myarr.sort(sortnum()));//調用上面的函數可以傳入實參么? </script> </head> <body> </body> </html>
注釋的地方還是不明白~
2016-06-17
var arr=[5,3,9,4,2,18,7];
var newarr=new Array(arr.length+1);
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]<arr[j]){
newarr[i]=arr[j];
arr[j]=arr[i];
arr[i]=newarr[i];
}
}
}
alert(arr);
2016-06-15
<script type="text/javascript">
? ?function sortNum(a,b) {
?return b-a;
? ?}
var myarr = new Array("80","11","11","6","100","1");
document.write(myarr.sort(sortNum));
若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后。
排序時比較的是緊鄰的兩位數,如上例,數組new Array("80","11","19","6","100","1");按
?function sortNum(a,b) {
?return b-a;//估計用a/b也行,同正或同負。a/b>1,則a>b。0<a/b<1,則a<b。a/b=1,則a=b。但是有很多缺點有0不行,異號不行,sort()方法只認返回值與-1,1的關系。如果有認返回值與1相比較的關系的方法的話估計用a/b就行。小白一枚知識有限還沒往下學,不知道后面有沒有解決辦法。
? ?}
去排序,先比較80,11此時80就是A,11就是B。b-a就是11-80小于0,則A在B前即80在11前,數組順序變成80,11,19,6,100,。然后比較11,19。此時11是A,19是B,b-a就是19-11>0,則A在B之后即11在19之后,數組順序變成80,19,11,6,100,后面的也是這樣,一輪比較結束后最后變成80,19,11,100,6。然后繼續循環比較第二輪變成80,19,100,11,6。繼續循環直到100,80,19,11,6。我是用C語言的思想這么理解的。
2016-05-28
function?sortNum(a,b)?{
????????return?b-a;
???} ? ? //這個函數返回的是b-a的值
???function?sortnum(a,b){
???????return?a-b;
???} //這個函數返回的是a-b的值
var?myarr?=?new?Array("80","16","50","6","100","1"); //這種建立數組的方法不對?
document.write(myarr.sort()+"<br?/>");?
document.write(myarr.sort(sortNum)+"<br?/>");
document.write(myarr.sort(sortnum()));//這里的函數調用可以傳入實參么?
2016-05-28
sortNum(a,b)這個就是方法函數。
例如以下方法函數:
這個方法函數就是返回b是否大于a,如果b大于a,方法函數返回true,其目的是執行b>a的排序