js 输入数组返回多重数组
时间: 2024-08-13 13:01:37 浏览: 52
javascript 返回数组中不重复的元素
在JavaScript中,如果你想要将单个输入数组转换为多重数组(也就是嵌套数组),你可以通过迭代、递归或其他方法来实现。这里有一个简单的例子,展示如何使用`Array.prototype.flatMap()`函数,它能有效地处理这个问题:
```javascript
function transformToArray(inputArray, depth = 0) {
return inputArray.flatMap(item => {
// 如果深度达到指定值(这里是两层),直接返回item,否则递归调用自身
if (depth >= 2) {
return [item];
} else {
// 将当前元素转换为数组,并增加一层深度
return Array.isArray(item) ? item : [item].flatMap(transformToArray, { depth: depth + 1 });
}
});
}
// 示例
const input = [1, [2, 3], [4, [5, 6]]];
const result = transformToArray(input);
console.log(result); // 输出:[, [2, 3], [4, [5, 6]]]
```
在这个函数中,我们检查每个元素是否已经是数组。如果是,就直接添加到结果;如果不是,我们就将其转化为数组并递归调用函数,直到达到预设的层级(在这个例子中是两层)。你可以根据需要调整这个函数,改变深度或者其他转换规则。
阅读全文