工作我有陣列這樣 值= [250,200,300,150,300]數組排序不是在JS
我使用此代碼。
但是,它不工作。它的結果值= [200,250,150,300,300]
我想在不使用內置函數的情況下實現這個功能。
工作我有陣列這樣 值= [250,200,300,150,300]數組排序不是在JS
我使用此代碼。
但是,它不工作。它的結果值= [200,250,150,300,300]
我想在不使用內置函數的情況下實現這個功能。
你應該有兩個循環另外一個內部排序陣列
value = [250, 200, 300, 150, 300]
for (var i = 0; i < value.length; i++)
for (var j = i; j < value.length - 1; j++) {
if (value[i] > value[j]) {
var temp = value[j];
value[j] = value[i];
value[i] = temp;
}
}
console.log(value)
使用下面的代碼。
var value = [250, 200, 300, 150, 300];
for (var i = 0; i < value.length; i++) {
var swapped = false
for (var j = 0; j < value.length; j++) {
if (value[j] > value[j + 1]) {
temp = value[j + 1];
value[j + 1] = value[j];
value[j] = temp;
swapped = true;
}
}
if (!swapped) {
break;
}
}
console.log(value)
一個循環,你沒有得到一個排序的數組。 –
單循環排序是不可能的。您可以使用內部排序方法https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort或使用排序算法http://khan4019.github.io/front-end -Interview-Questions/sort.html –
爲什麼你不只是'value.sort()' – adeneo