function inArray(arr) {
return function(x) {
return arr.includes(x);
};
}
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inArray([1, 2, 10])) );
function inArray(arr)
- arr - так понимаю это [1, 2, 10] - тогда почему меняя это arr
на любое другое название - вывод значений меняется на с 1 по 7 ?filter
перебирает все элементы массива arr
и возвращает те, которые соответствуют условию.[1,2,10]
.inArray()
возвращает функцию. Эта ф-я проверяет, входит ли переданный ей аргумент в массив, с которым она создавалась. const myInArray = inArray([1,2,3]);
myInArray(4) // false
myInArray(1) // true
filter()
– т.е. из него остаются только те элементы, для которых функция вернёт true
.