for循环从大到小输出结果100,98,70,67,59,49,35,20。定义数组arr冒泡排序循环8-1次
时间: 2024-10-13 20:09:08 浏览: 0
为了实现这个需求,我们可以使用`for`循环结合`if`语句,在JavaScript中创建一个数组`arr`,然后使用冒泡排序算法,从数组的最后一个元素开始逐个向前比较,每轮将最大的元素交换到数组的末尾,直到完成8次循环,满足你的特定顺序输出。下面是具体的代码示例:
```javascript
// 定义数组并按照指定顺序填充
let arr = [];
for (let i = 100; i >= 20; i -= 2) {
arr.push(i);
}
// 冒泡排序,每轮循环8次
let times = 8;
for (let outerLoop = 0; outerLoop < times; outerLoop++) {
let isSwapped = false;
for (let innerLoop = arr.length - 1; innerLoop > 0 && !isSwapped; innerLoop--) {
if (arr[innerLoop] < arr[innerLoop - 1]) {
[arr[innerLoop], arr[innerLoop - 1]] = [arr[innerLoop - 1], arr[innerLoop]]; // 交换元素
isSwapped = true; // 标记已发生交换
}
}
}
// 输出数组
console.log(arr); // 应该输出 100, 98, 70, 67, 59, 49, 35, 20
```
在这个代码里,外部循环运行8次,内部循环则是对数组进行冒泡排序,直到整个数组有序。由于数组已经按初始顺序排列好,实际上内层循环不会有真正的交换发生,但在代码逻辑上是完整的冒泡过程。