数组排序在 JS 中不起作用

Array Sorting not working in JS

我有这样的数组 值 = [250, 200, 300, 150, 300]

我用这个代码。

        for (var j = 0; j < value.length - 1; j += 1)
        {
            if (value[j] > value[j + 1])
            {
                var temp = value[j + 1];
                value[j + 1] = value[j];
                value[j] = temp;
            }
        }

但是,它不起作用。结果 value = [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)