使用 For 循环对包含数字的数组进行排序

新手上路,请多包涵

我是 Javascript 的新手,我有一个包含数字的数组。

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

我如何在 javascript 中使用本机 For 循环对其进行排序。我知道排序功能可用,但我希望它通过 for 循环。

输出应该是-

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

原文由 Rj-s 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 486
2 个回答

我会做那样的事…

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

也许有更有效的方法,但如果你想使用 for 循环,这是我的第一个想法……希望它有帮助

原文由 R. Foubert 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 Holger 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题