Tengo esta matriz de objetos.
const arrofobj = [ {city:"paris", name: "chris"}, {city:"berlin", name: "john"}, {city:"moscow", name: "jev"} ];Quiero escribir una función cuando pase parís, quiero recuperar a chris, ¿cómo lograr esto?
Esto es lo que he probado
const arrofobj = [ {city:"paris", name: "chris"}, {city:"berlin", name: "john"}, {city:"moscow", name: "jev"} ]; function fetchname(cityname) { arrofobj.forEach((val)=>{if(Object.keys(val) == "city") {if (val.city == cityname) console.log(val.name)}})//nothing is printed } fetchname("paris");Puedes usar el filtro
const arrofobj = [ {city:"paris", name: "chris"}, {city:"berlin", name: "john"}, {city:"moscow", name: "jev"} ]; console.log(arrofobj.filter((arro) =>arro.city == 'paris')[0].name);debe usar el método de filtro de la siguiente manera:
const arrofobj = [ {city:"paris", name: "chris"}, {city:"berlin", name: "john"}, {city:"moscow", name: "jev"} ]; function getByCity(city) { var result = arrofobj.filter(obj => { return obj.city === city }) return result; } console.log(getByCity('paris')[0].name)Creo que te ayudará a resolver cualquier duda en este código. Comenta abajo
const arrofobj = [ {city:"paris", name: "chris"}, {city:"berlin", name: "john"}, {city:"moscow", name: "jev"} ]; function fetchname(cityname) { const findValue = arrofobj.find((value)=>value.city==cityname) console.log(findValue) return findValue.name ?? "" } fetchname("paris");