Показать сообщение отдельно
  #1 (permalink)  
Старый 11.07.2019, 12:22
Интересующийся
Отправить личное сообщение для Кирилл Margheriti Посмотреть профиль Найти все сообщения от Кирилл Margheriti
 
Регистрация: 02.04.2019
Сообщений: 21

Замыкание (Фильтрация через функцию)
Есть задача https://learn.javascript.ru/task/fil...rough-function

Решение следующее
var arr = [1, 2, 3, 4, 5, 6, 7];

function filter(arr, func) {
    var newArr = arr.filter(func);
    return newArr;
}

function inBetween(a, b) {
    return function(number) {
        if (number >= a && number <= b) {
            return true;
        }
    };
}

function inArray(Array) {
    return function(number) {
        for (var i = 0; i < Array.length; i++) {
            if (number === Array[i]) {
                return true;
            }
        }
    }
}

alert(filter(arr, inBetween(3, 6)));
alert(filter(arr, inArray([1, 2, 5, 10, 3])));




Вопрос - откуда function(number) в функции inBetween() знает про текущий номер элемента в массиве при его переборе в функции function filter(arr, func) ?


Мы ведь не указываем function(number) в функции inBetween() его значение number, да?

Последний раз редактировалось Кирилл Margheriti, 11.07.2019 в 13:01.
Ответить с цитированием