我正在关注一些教程,并且想出了以下代码,我无法理解它在后台如何工作。任何人都可以解释一下它是如何工作的。
所以我在这里做了一个函数 mapForEach 。
const arr1 = [1, 2, 3]
const mapForEach = (arr, fn) => {
let newArr = []
for (let i = 0; i < arr.length; i++) {
newArr.push(
fn(arr[i])
)
}
return newArr;
}
现在在这里,我另外做了两个函数 CheckPastLimit 和 CheckPastLimitSpecified 。现在在这里checkPastList检查条件。到目前为止一切都很好。
const CheckPastLimit = (limiter, item) => {
return item > limiter
}
现在,这里CheckPastLimit用作通过CheckPastLimit条件(项目>限制器)的参数和arr2返回值。所以我想知道这条线是如何工作的?这条线在幕后如何运作?
const arr2 = mapForEach(arr1, CheckPastLimit.bind(this, 1))
console.log(arr2)
答案 0 :(得分:0)
在此处使用绑定时,我们实现currying
这意味着CheckPastLimit.bind(this, 1)
将返回带有传递的第一个参数的新函数。
示例:
const multiply = (a, b) => a*b;
const multiplyByTwo = multiply.bind(this,2)
mltiplyBuTwo(5)// 5*2=10