- 1. 關(guān)于Ajax開發(fā)需要遵循的十大守則 http://www.uzzf....
- 2. 超級(jí)加密精靈(文件數(shù)據(jù)加密保護(hù)的完美解決方案) V...
- 3. 宇潤(rùn)灰色按鈕克星(灰色禁止按鈕的完美解決方案) V1...
- 4. DVDFab Platinum(無(wú)損復(fù)制dvd電影的完美解決方案) ...
- 5. Z小窗口(網(wǎng)頁(yè)視頻飛出窗口后的解決方案) V1.0(r45)...
- 6. 凌云好用剪切板(快速填表格,快速填序列號(hào)的解決方案...
- 7. ADSL錯(cuò)誤代碼查詢(提供撥號(hào)故障解決方案) V1.0
- 8. Mozilla Thunderbird(跨平臺(tái)的郵件解決方案) V3....
- 9. 蝦米音樂(無(wú)線音樂解決方案)for Android v1.3.0 ...
- 10. 神龍會(huì)員管理系統(tǒng)(會(huì)員管理全套解決方案) V5.50 ...
一個(gè)關(guān)于JS數(shù)組通過手動(dòng)排序問題的解決方案
問題實(shí)例:
var arr = new Array(5)
arr[0] = "Jani"
arr[1] = "Hege"
arr[2] = "Stale"
arr[3] = "Kai Jim"
arr[4] = "Borge"
document.write(arr + "<br />")
arr.splice(2,2)
document.write(arr + "<br />")
這段代碼的輸出結(jié)果是:
Jani,Hege,Stale,Kai Jim,Borge
Jani,Hege,Borge
同樣是數(shù)組的splice()方法,下面這段代碼結(jié)果卻不一樣
var Num_1=[];
var Num_2=[];
var num;
for(var i=1;i<50;i++){
Num_1.push(i<10?"0"+i:i);
}
for(var i=0;i<5;i++){
num=Num_1.splice(Math.floor(Math.random()*Num_1.length),1);
Num_2.push(num);
}
document.write("隨機(jī)產(chǎn)生的號(hào)碼:"+Num_2.sort());
splice(x,y)方法是從索引的x開始刪除y個(gè)元素
但是num=Num_1.splice(Math.floor(Math.random()*Num_1.length),1);
這個(gè)應(yīng)該是刪除一個(gè)元素 還有49個(gè)元素
可是問什么num就是一個(gè)數(shù)
求解為什么
還有sort()方法是數(shù)組排序,我聲明一個(gè)數(shù)組添加5個(gè)數(shù)據(jù)型元素,然后用sort()方法卻不能排序,需要設(shè)置個(gè)參數(shù)
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort())
</script>
這個(gè)結(jié)果是
10,5,40,25,1000,1
1,10,1000,25,40,5
沒有排序
<script type="text/javascript">
function sortNumber(a,b)
{
return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
</script>
需要在設(shè)置個(gè)方法才能排序
而最上面?zhèn)的那段程序直接用sort()就能排序,沒有參數(shù),為什么 求解?
解決方案:
// [0,1,2].splice(1,1) : [1]
2. sort是可以不用傳遞比較函數(shù)的,它會(huì)直接使用默認(rèn)的比較。你的第二段代碼中排序是成功的,1,10,1000,25,40,5,你沒發(fā)現(xiàn)它們起始數(shù)字是遞增的嗎?因?yàn)槟鉷ush進(jìn)去的是字符串,它是以字符串比較來(lái)排序的("b">"a", "b"<"ba")。同理,第一段代碼你覺得是按數(shù)字排序,實(shí)際還是按字符串排序的,不信你去掉1位數(shù)的"0"前綴
- 1. 一個(gè)關(guān)于JS數(shù)組通過手動(dòng)排序問題的解決方案
- 2. 關(guān)于歐元的轉(zhuǎn)換
- 3. 關(guān)于XMLHttpRequest對(duì)象的簡(jiǎn)單介紹說(shuō)明
- 4. 關(guān)于利用ASP使圖片自動(dòng)縮放以適合界面大小的實(shí)例代...
- 5. 關(guān)于掌握ASP編程技術(shù)6大要素
- 6. 關(guān)于asp中connection對(duì)象封裝dll方法分享
- 7. 關(guān)于IE瀏覽器和非IE瀏覽器的條件注釋理論及實(shí)踐
- 8. 關(guān)于ASP生成靜態(tài)Html文件的技術(shù)分享及實(shí)例說(shuō)明
- 9. 關(guān)于ASP中大字段在Form中Post出錯(cuò)的解析
- 10. 關(guān)于在ASP程序頁(yè)面中插入excel文件的實(shí)例代碼分享