亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

實在是沒搞懂這里的函數具體啥意思?

<!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>

注釋的地方還是不明白~

正在回答

4 回答

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);


0 回復 有任何疑惑可以回復我~

<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語言的思想這么理解的。

0 回復 有任何疑惑可以回復我~

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()));//這里的函數調用可以傳入實參么?


0 回復 有任何疑惑可以回復我~
#1

黑色丶毛衣 提問者

構造函數里不能直接賦值嗎?您能幫忙給個相關鏈接嗎?
2016-05-28 回復 有任何疑惑可以回復我~
#2

黑色丶毛衣 提問者

剛查了下,賦值方面沒錯!給您個鏈接:http://www.w3school.com.cn/js/js_obj_array.asp
2016-05-28 回復 有任何疑惑可以回復我~
#3

Miaos 回復 黑色丶毛衣 提問者

貌似這樣賦值就是String了,數字的話應該不用引號吧
2016-06-21 回復 有任何疑惑可以回復我~
arrayObject.sort(方法函數)

sortNum(a,b)這個就是方法函數。

例如以下方法函數:

function?sortNum(a,b)?{
????????return?b-a;
???}

這個方法函數就是返回b是否大于a,如果b大于a,方法函數返回true,其目的是執行b>a的排序

0 回復 有任何疑惑可以回復我~
#1

黑色丶毛衣 提問者

看來,您并沒有看我貼的注釋???另外,這個函數為什么要返回true,而不是b-a的值呢?
2016-05-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

實在是沒搞懂這里的函數具體啥意思?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號