我有一個最小值和最大值。遍歷數組我需要刪除min和max之間的所有元素。我不能使用任何內置的數組函數,如拼接,數組需要保持原始順序。例如數組[1,5,13,27,58] min = 10 max = 30會返回一個[1,5,58]的數組。我正在尋找更多關於如何在N時間複雜度下做到這一點的策略。這個問題是面試準備。使用任何內建函數或新數組在JavaScript中過濾數組
這裏是我試過的代碼,
function filter_range(array, min, max) {
for (var i = 0; i < array.length; i++) {
if (min < array[i] && array[i] < max) {
for (var j = i; j < array.length - 1; j++) {
var temp = array[j]
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
var array = [1, 5, 23, 13, 59];
filter_range(array, 10, 30);
for (var i = 0; i < array.length; i++) {
console.log(array[i])
}
@kevinternet,我只是說我試過的代碼。我沒有得到它的工作 – Aaron
該數組總是要排序? –
@MikeC數組並不總是要排序 – Aaron