Я понимаю, что bind()
берет аргумент из другой функции, создает копию с предварительно заданным значением аргумента и назначает ее другой функции, но в этом примере я просто не понимаю, как мы можем принять аргумент limit
и функция все еще работает, когда для limit
задано значение 20 , где и как передаются элементы массива, по которым мы циклически перебираемся, и сравниваем, когда мы храним их в minAgeForJapan
? Надеюсь, я был настолько ясен, насколько мог, спасибо.
let years = [1990, 1965, 1947, 2005, 2001];
function arrCalc(arr,funcPassedIn) {
let result = [];
for (let i = 0; i < arr.length; i++) {
result.push(funcPassedIn(arr[i]));
}
return result;
};
function calcAgeFunc(arrayIndex) {
return 2020 - arrayIndex;
};
let agesCalculated = arrCalc(years, calcAgeFunc);
console.log(agesCalculated);//[30, 55, 83, 15, 19];
function isFullAge (limit, arrayIndex) {
return arrayIndex >= limit;
}
let minAgeForJapan = arrCalc(agesCalculated, isFullAge.bind(this, 20));//we set the min age to 20
console.log(minAgeForJapan);//[true, true, true, false, false]```