Soy un novato cuando se trata de JS y estoy tratando de descubrir cómo devolver un valor único en lugar de un objeto cuando uso la función .find().
Ejemplo:
var obj = [ { name: 'Max', age: 23 }, { name: 'John', age: 20 }, { name: 'Caley', age: 18 } ]; var found = obj.find(e => e.name === 'John'); console.log(found); Esto generará { name: 'John', age: 20 }
Quiero que muestre la edad de John (es decir, 20 ) como una cadena.
¿Qué me estoy perdiendo?
Simplemente agregue ?.age a su variable found .
var obj = [ { name: 'Max', age: 23 }, { name: 'John', age: 20 }, { name: 'Caley', age: 18 } ]; var found = obj.find(e => e.name === 'John')?.age; // Using ?. incase value isnt found. console.log(found); También menciona que lo necesita como una cadena, puede lograrlo envolviendo la var found en la función String así ...
var obj = [ { name: 'Max', age: 23 }, { name: 'John', age: 20 }, { name: 'Caley', age: 18 } ]; var found = String(obj.find(e => e.name === 'John')?.age); console.log(found);La función .find le devuelve un objeto para que pueda hacer algo como esto
var age = obj.find(e => e.name === "John").age