【发布时间】:2017-08-11 00:44:06
【问题描述】:
我主要使用 Python 进行编程。今年,我学会了如何使用它进行递归。
我的教授教给我的一个非常好的技巧是像这样使用列表推导:
def list_all(obj):
if not isinstance(obj, list):
return [obj]
else:
return sum([list_all(x) for x in obj], [])
现在我越来越多地使用 JS 而不是 Python,我想知道你可以在语言中使用哪些特定的内置函数来帮助递归。我知道列表理解在 JavaScript 中已被弃用,所以显然我不能再使用它们了。 map 或 filter 在处理递归时会很好地替代列表推导吗?如果不是,那又如何?
【问题讨论】:
-
“我知道列表推导在 JavaScript 中已被弃用” - 谁告诉你的?!我们什么时候有列表推导式,为什么它们会被弃用!?
-
@AndrewLi:
[for (x of [1,2,3]) x*x]- 在你的 Firefox 控制台试试这个;) -
@georg 我知道未来的 ES 版本正在实现列表推导,但它们没有标准化。问题是 OP 声称它们以前作为标准存在并且已被弃用,这是不正确的。
-
@AndrewLi:这也不正确,理解早在 2015 年之前就已经存在,它们计划用于废弃的 ES4(2007)。
-
@georg 啊,我明白了。我没有意识到这一点。感谢您的信息
标签: javascript recursion