Работает следующий код JavaScript:
const numbers = [10, 15, 20, 25, 30];
function nesting(array, iteratorFunction) {
let f2 = function(b){
return false;
}
return array.filter(
function(a){
return f2(a)
}
);
}
Результат равен []
, если f2 возвращает false
, и [10, 15, 20, 25, 30]
, если f2 изменяется для возврата true
.
Почему он не работает правильно после этой замены направления, когда я просто заменил переменную f2 исходным определением f2?
function nesting(array, iteratorFunction) {
return array.filter(
function(a){
return function(b){
return false;
}
}
);
}
Возвращает [10, 15, 20, 25, 30]
независимо от того, возвращает ли внутренняя функция true
или false
. Зачем? Какие знания о javascript мне не хватает?