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) 我最近注意到,在使用 时array.prototype.map(),我的回调函数可能接受第三个参数,即我正在映射的数组。我想知道这个参数是否有任何用例,因为在回调函数内部,无论如何都可以访问数组。
如果我访问在回调函数内映射的数组,为什么/何时应该使用第三个参数而不是仅仅访问数组?
尽管这两种方法在我能想象到的每个用例中都应该可以正常工作,但我想知道哪种方法是推荐的方法以及原因。