【发布时间】:2020-01-26 15:20:30
【问题描述】:
我有一个带有嵌套对象的对象:
let list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: {
value: 4,
next: null
}
}
}
};
我需要返回list 中的所有key: value,并且我必须使用递归。我曾尝试将嵌套对象推送到函数中的局部变量,但由于名称不同,它在第二次迭代中失败了。
函数如下:
function printList(list){
let nested = {};
if(list.hasOwnProperty('next')) {
nested = list.next;
printList(nested);
} else {
return nested;
}
}
有没有办法用递归解决它?
它应该返回value 属性。在这种情况下
1
2
3
4
【问题讨论】:
-
那么在递归函数中,您实际上是在哪里打印任何内容到输出?
-
你不应该检查对象是否有
.next属性,你应该检查nested是否是null。
标签: javascript object recursion