![](/img/trans.png)
[英]How to print the position and value of a nested array using recursion in Javascript
[英]How to create nested array using recursion
我的目标是将数组转换为嵌套的多维数组。
输入: [1,2,3,4,5...n]
output: [1,[2,[3,[4,[5,[n]]]]]
提前致谢
您可以对第一项和 rest 进行解构并检查 rest 的长度并返回一个新数组,其中包含递归调用的结果或仅返回数组中的项。
const nest = ([item, ...rest]) => rest.length? [item, nest(rest)]: [item]; console.log(nest([1, 2, 3, 4, 5]));
.as-console-wrapper { max-height: 100%;important: top; 0; }
您可以像这样拥有 function:
function nest (arr) {
if(arr.length === 1) return arr;
return [arr[0], nest(arr.slice(1, 0))]
}
并像这样调用它nest([1, 2, 3, 4, 5])
ES6 中的相同代码:
let nest = ([first, ...arr]) => arr.length ? [first, nest(arr)] : [first]
我使用reverse()
和forEach()
function 来实现这一点。
var i = [1,2,3,4,5]; var result = []; var current = []; i.reverse().forEach((num) => { current.unshift(num); result = current; current = [current]; }) console.log(JSON.stringify(result))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.