單循環(huán)當(dāng)然不可能完成排序啦。你想象一下,幾個身高不同的人排成一行,然后按身高排序,如果只循環(huán)一遍,那么結(jié)果就是相鄰的兩個人比身高,如果后面的人高就互換位置,但這遠遠不夠啊,如果最高的那個人一開始在中間或后面,那么他只是與前面的那個人換了位置而已,根本就沒排到前面去??!所以單循環(huán)是絕對不可能的!
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、尼勒克網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、尼勒克網(wǎng)絡(luò)營銷、尼勒克企業(yè)策劃、尼勒克品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供尼勒克建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
另外,即使是單循環(huán),你的代碼也有錯啊,當(dāng)n是最后一個的時候,n+1就是子虛烏有不存在的了,就出錯了。
其實,可以利用數(shù)組內(nèi)置的sort方法直接排序,一行即可搞定:
var?ssc?=?new?Array(13,?55,?37,?33,?45,?9,?60,?21,?10);
document.write("排序前:"+ssc);
document.write(""+"br排序后:"+ssc.sort((a,b)=a-b));
你好,Javascript中的數(shù)字數(shù)組排序非常簡單,JS本身提供了內(nèi)置的排序方法,直接調(diào)用就可以了。
var?arr?=?[1,?20,?49,?32,?43,?69];
arr.sort();
console.log(arr);?//?[1,?20,?32,?43,?49,?69]
還有一種更加靈活的寫法:
arr.sort(function(a,?b){
return?a?-?b;
});
console.log(arr);?//?[1,?20,?32,?43,?49,?69]
如果想倒序也很簡單,交換下return中a、b的位置就可以了:
arr.sort(function(a,?b){
return?b?-?a;
});
console.log(arr);?//?[69,?49,?43,?32,?20,?1]
好了,就這樣。希望是你想要的答案,望采納,如有疑問請追問!
javascript
的數(shù)組有sort方法。按照數(shù)值的大小對數(shù)字進行排序,必須使用一個排序函數(shù):a代表數(shù)組的前一位,b代表數(shù)組的后一位。var
arr
=
[1,2,3,5,2,5,3,6,2,6,2,6,2,5,9,6,8,54,3,6,8];arr.sort(function(a,b){return
a-b});這樣是升序排列。如果希望降序排列,就寫成return
b-a;
先寫上我們的示例代碼,定義了一個數(shù)組arr,數(shù)組包括有幾個字母,不按順序的,要對數(shù)組進行排序,直接調(diào)用sort方法。再加上一些輸出語句,console.log是指在瀏覽器的調(diào)試控制臺里輸出內(nèi)容。
運行頁面,我們在控制臺里看下結(jié)果,如圖,數(shù)組調(diào)用sort方法后,就按字母的升序做好排序了。
修改下代碼,把數(shù)組內(nèi)容從字符串改成數(shù)字,然后再調(diào)用sort方法。
修改后,運行頁面,再看下結(jié)果。
數(shù)組排序都是按字符串來排序的,而不管數(shù)組內(nèi)容是數(shù)字還是字符串。
修改下sort排序方法,把剛才定義的方法名傳進來。
運行頁面,可以看到現(xiàn)在的數(shù)組就是按數(shù)字從小到大排序的。
好,Javascript中的數(shù)字數(shù)組排序非常簡單,JS本身提供了內(nèi)置的排序方法,直接調(diào)用就可以了。
1.var?arr?=?[1,?20,?49,?32,?43,?69];
2.arr.sort();
3.console.log(arr);?//?[1,?20,?32,?43,?49,?69]