I am trying to match the result of a prompt with properties of various objects in an array. (I.e if city entered matches the name of one of the objects listed, return the coinciding temp)
let cities = [
{
name: "San Luis Obispo",
temp: 16,
uv: 1,
humidity: 5,
elevation: 28,
wind: 2,
},
{
name: "Morro Bay",
temp: 11,
uv: 2,
humidity: 8,
elevation: 1,
wind: 8,
}]
let city = prompt("Enter a city");
if (city === cities.name){
alert(`It is currently ${temp}°C in ${city}`);
}
let cities = [
{
name: "San Luis Obispo",
temp: 16,
uv: 1,
humidity: 5,
elevation: 28,
wind: 2,
},
{
name: "Morro Bay",
temp: 11,
uv: 2,
humidity: 8,
elevation: 1,
wind: 8,
}]
let cityName = prompt("Enter a city");
const city = cities.find(cityX => {
return cityName === cityX.name
})
if (city){
alert(`It is currently ${city.temp}°C in ${cityName}`);
}
Try this
let city = prompt("Enter a city");
Cities.forEach(current=>{
if (city.trim() === current.name){
alert(`It is currently ${current.temp}°C in ${city}`);
}
})
run a for loop over the array of objects ( cities ), checking each city in the array:
let cities = [{
name: "San Luis Obispo",
temp: 16,
uv: 1,
humidity: 5,
elevation: 28,
wind: 2,
},
{
name: "Morro Bay",
temp: 11,
uv: 2,
humidity: 8,
elevation: 1,
wind: 8,
}
]
let city = prompt("Enter a city");
for (let i = 0; i < cities.length; i++) {
if (city == cities[i].name) {
alert(`It is currently ${cities[i].temp}°C in ${city}`);
}
}