Как мы можем зацикливать элементы массива, когда здесь для метода связывания задано предустановленное значение? - PullRequest
0 голосов
/ 18 февраля 2020

Я понимаю, что 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]```


...