/*步驟構(gòu)思: 1、聲明命名函數(shù)(形參數(shù)組)
2、for設(shè)置外循環(huán), 控制遍歷多少趟
3、for設(shè)置內(nèi)循環(huán), 控制遍歷交換多少次
4、if設(shè)置滿足兩兩比較條件, 索引號(hào)進(jìn)行兩兩和臨時(shí)變量的交換
5、return返回值
6、變量?jī)?chǔ)存=調(diào)用函數(shù)(實(shí)參數(shù)組)
7、 控制臺(tái)打印變量輸出 */
function bubble(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
var arr = bubble([100, 26, 4, 13, 200, -21, 59]);
console.log(arr); // [-21, 4, 13, 26, 59, 100, 200]
function bubSort(newArr) {
/* 注意:內(nèi)置的對(duì)象方法sort()會(huì)調(diào)用toString()轉(zhuǎn)型,即比較字符串
解決:sort()接收一個(gè)比較函數(shù)compare來解決字符串長(zhǎng)度一樣的數(shù)字大小比較 */
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
newArr.sort(compare); // 對(duì)象.sort()是一個(gè)內(nèi)置在JS可以直接被調(diào)用的方法
return newArr;
}
var newArr = bubSort([100, 200, 26, 13, 4, 87, -66, 59]);
console.log(newArr); //[-66, 4, -13, 26, 59, 87, 100, 200]
聯(lián)系客服