Js编写函数可以将任意的数组从内到外进打印
时间: 2024-11-24 20:41:03 浏览: 8
在JavaScript中,你可以通过递归的方式来实现数组的内外翻转打印。下面是一个简单的函数,它接受一个数组作为输入,并将其元素按内层外层的方式打印出来:
```javascript
function printArrayInAndOut(arr) {
function printLayer(layer) {
for (let i = 0; i < layer.length; i++) {
console.log(layer[i]);
if (i + 1 !== layer.length) {
console.log(layer[layer.length - (i + 1)]);
}
}
}
// 如果数组为空或只有一层元素,直接打印
if (arr.length <= 1) {
console.log(...arr);
} else {
// 将数组分为两部分,每一部分对应一层
const halfLength = Math.floor(arr.length / 2);
printLayer(arr.slice(0, halfLength));
printLayer(arr.slice(halfLength));
}
}
// 使用示例
const arr = [1, 2, 3, 4, 5];
printArrayInAndOut(arr);
```
这个`printArrayInAndOut`函数首先检查数组的长度,如果小于等于1,直接打印;否则,它会将数组分为两半,分别对每一半进行递归调用`printLayer`,按照内层到外层的顺序交替打印。
阅读全文