相关疑难解决方法(0)

为什么在Javascript的array.forEach回调中提供数组参数?

JavaScript的数组迭代功能(forEach,every,some等),让您通过三个参数:当前项,当前索引和阵列在其上操作.

我的问题是:作为参数操作数组有什么好处,而不是通过闭包来访问它?

我为什么要用这个:

myArray.forEach(function(item, i, arr) {doSomething(arr);});
Run Code Online (Sandbox Code Playgroud)

而不是这个:

myArray.forEach(function(item, i) {doSomething(myArray);});
Run Code Online (Sandbox Code Playgroud)

javascript arrays closures

4
推荐指数
1
解决办法
432
查看次数

Javascript array.prototype.map 何时/为何使用第三个参数

我最近注意到,在使用 时array.prototype.map(),我的回调函数可能接受第三个参数,即我正在映射的数组。我想知道这个参数是否有任何用例,因为在回调函数内部,无论如何都可以访问数组。

如果我访问在回调函数内映射的数组,为什么/何时应该使用第三个参数而不是仅仅访问数组?

例子

尽管这两种方法在我能想象到的每个用例中都应该可以正常工作,但我想知道哪种方法是推荐的方法以及原因。

javascript arrays array.prototype.map

3
推荐指数
2
解决办法
3300
查看次数