@ozerovlife

Как «x» становиться элементом массива?

Здравствуйте, перечитываю тысячный раз тему методов массивов, и никак не могу разобраться с одним нюансом.
КОд:
let arr = [10, 20, 30, 40, 50, 60, 70];

function nam(a,b){
    return function(x){
       return x >= a && x <= b
    }
}

console.log(arr.filter(nam(20,50)))


Понимаю, что метод фильтра принимает call-back функцию, и подставляет каждый элемент массива по очереди. Но как этот элемент становится 'x' никак не могу понять. Заранее благодарен за обьяснение.
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
arr.filter(nam(20,50))

// это то же самое:
arr.filter(function (x) { return x >= 20  &&  x <= 50; })

// или так:
function f(x) {
  return x >= 20  &&  x <= 50;
}
arr.filter(f)

Метод массива .filter(f) применит функцию f по очереди к каждому элементу массива. Т.е. вызовет функцию f(10), f(20), ... f(70)
И на выходе оставит те из элементов, для которых вызов f(элемент) вернул true.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы