我正在尝试编写一个小程序,提示用户添加物品到购物清单中。
我了解使用递归循环的方法。虽然使用while循环可能更适合这个任务,但是我遇到了相同的问题,所以我想尝试一下递归。这听起来就像我知道自己在做什么一样......“是的,我使用递归来枚举数组并提示用户进行验证... hur hur hur”,但是我跑题了。
以下是代码:
如果你注意到了,它的循环是正确的,但它没有将项目添加到数组中。我已经尝试过使用
如果你知道我做错了什么,请提示正确的答案,而不是直接说出来。我想要那个“啊哈”时刻。我认为这一切都有助于我们更好地学习。
谢谢大家(和女士们)。
我了解使用递归循环的方法。虽然使用while循环可能更适合这个任务,但是我遇到了相同的问题,所以我想尝试一下递归。这听起来就像我知道自己在做什么一样......“是的,我使用递归来枚举数组并提示用户进行验证... hur hur hur”,但是我跑题了。
以下是代码:
function addToArray() {
var array = [];
array.push(prompt("Add items to array or 'q' to stop"));
if (array.pop() == 'q') {
document.write(array)
}
else {
addToArray();
}
}
addToArray();
如果你注意到了,它的循环是正确的,但它没有将项目添加到数组中。我已经尝试过使用
array[i] = i
技术,但无济于事,数组仍然为空。另外,为什么使用没有参数的函数不会遇到太多递归?这是因为条件语句吗?如果你知道我做错了什么,请提示正确的答案,而不是直接说出来。我想要那个“啊哈”时刻。我认为这一切都有助于我们更好地学习。
谢谢大家(和女士们)。
var array = [];
在每次函数调用时都会创建一个新的数组。 - zerkms