Tengo una matriz que contiene objetos, donde cada objeto representa a una persona que va a un cine de video. Los objetos contienen propiedades como Nombre, Edad y Afición. Si hay (al menos) una persona menor de 18 años, el censor variable debe establecerse en verdadero .
Mi código a continuación arroja el valor falso, a pesar de que Tim es menor de 18 años. ¿No es posible usar .some() de esta manera, o qué estoy haciendo mal?
var persons = [ {Name: "Joel", Age:25, Hobby:"Fishing"}, {Name: "Michael", Age:31, Hobby:"Astronomy"}, {Name: "Tim", Age:12, Hobby:"Video Games"}, ] var censor = persons.some((person) => {person.Age < 18}) console.log(censor) --> falseEs
var censor = persons.some((person) => person.Age < 18); // <-- no curly brackets for the predicate en lugar de {person.Age < 18}
Tienes que quitar los soportes.
var persons = [ {Name: "Joel", Age:25, Hobby:"Fishing"}, {Name: "Michael", Age:31, Hobby:"Astronomy"}, {Name: "Tim", Age:12, Hobby:"Video Games"}, ] var censor = persons.some((person) => person.Age < 18) console.log(censor) Si desea continuar usando corchetes, debe agregar return a la declaración:
var censor = persons.some((person) => { return person.Age < 18 })Le falta un retorno en su devolución de llamada, por eso siempre es false ,
ya sea usar:
var censor = persons.some(person => person.Age < 18)o
var censor = persons.some(person => {return person.Age < 18 })