js 算法 arr= [ [1, 2, 3], [8, 9, 4], [7, 6, 5] ]实现 s 形循环
时间: 2024-10-11 11:04:20 浏览: 34
在JavaScript中,实现数组`arr`的S型循环(蛇形打印或者Z形打印)通常需要遍历二维数组,并通过嵌套循环控制移动方向。这里是一个简单的示例,假设我们想要从左上角开始向右下角移动:
```javascript
let arr = [[1, 2, 3], [8, 9, 4], [7, 6, 5]];
let size = arr.length;
let direction = 0; // 0 表示向下,1 表示向右
function printSnake(arr) {
for (let i = 0; i < size; i++) {
for (let j = 0; j < size; j++) {
console.log(arr[i][j], end=' ');
if ((i + j) % 2 === 0) { // 当行数加列数为偶数,改变方向
direction = direction === 0 ? 1 : 0;
}
// 根据方向调整坐标
if (direction === 0) { // 向下
if (i == size - 1 || j == size - 1) {
direction = 1;
} else {
j++;
}
} else { // 向右
if (i == size - 1 || j == 0) {
direction = 0;
} else {
i++;
}
}
}
console.log();
}
}
printSnake(arr);
```
运行上述代码会按照S型路径打印出二维数组的元素。
阅读全文