Rj-*_*j-s -2 javascript arrays sorting
我是Javascript的新手,我有一个包含数字的数组.
var arr = [2,4,8,1,5,9,3,7,6];
Run Code Online (Sandbox Code Playgroud)
我如何在javascript中使用原生For循环对其进行排序.我知道排序功能可用,但我希望它通过循环.
输出应该是 -
var res = [1,2,3,4,5,6,7,8,9];
Run Code Online (Sandbox Code Playgroud)
小智 7
var Arr = [1, 7, 2, 8, 3, 4, 5, 0, 9];
for (var i = 1; i < Arr.length; i++)
for (var j = 0; j < i; j++)
if (Arr[i] < Arr[j]) {
var x = Arr[i];
Arr[i] = Arr[j];
Arr[j] = x;
}
console.log(Arr);Run Code Online (Sandbox Code Playgroud)
小智 3
我会做这样的事情......
var input = [2,3,8,1,4,5,9,7,6];
var output = [];
var inserted;
for (var i = 0, ii = input.length ; i < ii ; i++){
inserted = false;
for (var j = 0, jj = output.length ; j < jj ; j++){
if (input[i] < output[j]){
inserted = true;
output.splice(j, 0, input[i]);
break;
}
}
if (!inserted)
output.push(input[i])
}
console.log(output);Run Code Online (Sandbox Code Playgroud)
也许有更有效的方法,但如果你想使用for循环,这是我的第一个想法......