【发布时间】:2013-09-28 20:21:35
【问题描述】:
我正在尝试使用递归到达嵌套数组的中心。这是我试图解决的一个更大问题的一部分。我确信解决方案有点初级。我一直在学习 JS/web 开发,但我很难过。
这是我的代码:
var j = [[[["hey!"]]]];
function getNested(obj) {
for (var i = 0; i < obj.length; i++) {
if (Array.isArray(obj[i])) {
obj = obj[i];
getNested(obj);
}
return obj[i];
}
}
该函数应该返回“嘿!”字符串,但我似乎无法正确。
【问题讨论】:
-
如果你只能找到第一个最里面的嵌套元素并返回它,为什么会有
for循环?你的代码是如何递归的? -
如果嵌套数组中有多个元素怎么办?
-
我没有看到
getNested调用自己的地方,无论是直接调用还是通过相互递归。 -
什么是
findType?如果您正在寻找递归,请将该行换成return getNested(obj) -
我在你的代码中看不到递归。 getNested() 应该在某个地方调用自己。例如,如果您的数组看起来像 ["hey1",[[["hey!", "hey2"]]]] 怎么办?应该返回什么?
标签: javascript recursion