工作我有阵列这样 值= [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