0
所以我知道有一個.sort()方法可以用來在JavaScript中對數組進行排序,但我正在嘗試自己構建方法以供練習。我正在努力爲一組數字做它。目前,我已經在一個數組中使用了5個數字,但我想讓它變成動態的,以便它可以創建一個大小不一的數組。有沒有一種方法可以輕鬆地複製這些代碼,以便擴展或需要採用完全不同的方法?JavaScript構建多個臨時變量
var myArray = [3,2,4,5,1];
function sort(array) {
var max = 0;
var mid3 = 0;
var mid2 = 0;
var mid1 = 0;
var min = 0;
var sortArr = [];
for (var i = 0; i < array.length; i++) {
if (array[i] > max) {
min = mid1
mid1 = mid2
mid2 = mid3
mid3 = max
max = array[i];
} else if (array[i] > mid3) {
min = mid1
mid1 = mid2
mid2 = mid3
mid3 = array[i];
} else if (array[i] > mid2) {
min = mid1
mid1 = mid2
mid2 = array[i];
} else if (array[i] > mid1) {
min = mid1
mid1 = array[i];
} else {
min = array[i]
}
}
sortArr.push(max, mid3, mid2, mid1, min);
return sortArr
}
console.log(sort(myArray))
我想建立某種變量構造的,將是這樣的下面,然後通過在該功能使一些邏輯是抽象的,但不知道這是可能的。然後,您需要一些方法來構建if else語句和要更新的推送方法。我不知道是否有一些簡單的解決方案,我錯過了任何幫助。
function varConstruct (num) {
for (var i = 0; i < num; i++) {
"mid" + i;
}
}
myArray [「mid」+ i] ??? – Vinz243 2014-11-14 21:09:07
你讓太多比較。查看快速排序或合併排序 - 請參閱http://www.sorting-algorithms.com/ – 2014-11-14 21:13:23
如果您想要乾淨地完成此操作,可能需要查看遞歸。 – 2014-11-14 21:26:08