【发布时间】:2020-07-02 02:13:31
【问题描述】:
以下代码中对 Array.prototype.map 的两次调用都返回数组 [2, 4, 6]。解释两行代码之间的细微差别。哪一个是首选,为什么?
[1, 2, 3].map(n => n *= 2);
[1, 2, 3].map(n => n * 2);
我试图将一个视为重新分配,另一个视为突变
【问题讨论】:
-
第一个改变了
n参数,但是由于回调的范围在那里结束,更新的变量丢失了,所以更新没有意义。 -
你基本上是在问
*=做了什么。这实际上并不特定于.map()。
标签: javascript arrays