javascript - Sortera en array som innehåller siffror med en 'for'-loop


Jag är ny på JavaScript, och jag har en array som innehåller siffror.

 var arr = [2,4,8,1,5,9,3,7,6];

Hur kan jag sortera det med en inbyggd for loop i JavaScript?

Jag vet att sorteringsfunktionen finns, men jag vill ha det genom for-loop.

Utdata bör vara:

 var res = [1,2,3,4,5,6,7,8,9];

Svar #1

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);

Svar #2

Jag skulle göra något liknande detta...

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);

Kanske finns det mer effektiva sätt, men om du vill använda for-loopen är det min första idé...