Fala galera. Peguei um exercício de JS do livro Use a Cabeça e empaquei. Help!! Segue meu código:
var passengers = [
{name: "Jane Doloop", paid: true},
{name:"Dr. Evel", paid: true},
{name: "Sue Property", paid: false},
{name: "John Funcall", paid: true}
]
function processPassengers (passengers, testFunction) {
for (var i = passengers.length - 1; i >= 0; i--) {
if (testFunction (passengers[i])) {
return false;
}
}
return true;
}
function checkNoFlyList(passenger){
return (passenger.name === "Dr. Evel");
}
function checkPaid (passenger){
return (!passenger.paid);
}
var allCanFly = processPassengers(passengers, checkNoFlyList);
if (!allCanFly) {
console.log("The plane can`t take off: we have a passenger on the no-fly-list.");
}
var allPaid = processPassengers(passengers, checkPaid);
if (allPaid) {
console.log("The plane can`t take off; not everyone has paid");
}
Esse é o código proposto pelo exercício, mas quando carrego minha página recebo o seguinte erro:
Uncaught ReferenceError: testfunction is not defined at processPassengers (testedevoo.js:14) at testedevoo.js:29
Minhas dúvidas: 1- A primeira dúvida é o próprio erro depurado ao carregar o código. Como posso chamar a função "testFunction" se ela ainda não foi declarada nem expressa? 2- A segunda é: como posso passar "passenger" como argumento para as minhas funções "checkNoFlyList" e "checkPaid" se não declarei essa variável em lugar nenhum?