我有一个列表,其中包含一些城市,并且开头有一个空对象。我需要将名为“最佳城市”的空对象设置为包含马德里的对象,如下所示。它也应该在里面按住马德里钥匙。我尝试过bestCity = cities.madrid,但是我用这种方法丢失了马德里密钥。我不知道该怎么做。谢谢。
cities: {
madrid: {
sunny: "yes",
capital: "yes"
},
london: {
sunny: "no",
capital: "yes"
},
miami: {
sunny: "yes",
capital: "no"
},
hamburg: {
sunny: "no",
capital: "no",
}
}
开头的空对象:
bestCity: {}
最佳城市应该如下。
bestCity: {
madrid: {
sunny: "yes",
capital: "yes"
}
}
答案 0 :(得分:3)
您可以使用destructuring
提取madrid
,然后用它创建一个对象:
const cities = {
madrid: {
sunny: "yes",
capital: "yes"
},
london: {
sunny: "no",
capital: "yes"
},
miami: {
sunny: "yes",
capital: "no"
},
hamburg: {
sunny: "no",
capital: "no",
}
}
const { madrid } = cities ;
const bestCity = { madrid };
console.log( bestCity );
答案 1 :(得分:1)
像这样?假设您实际上想选择一个好的城市,而不仅仅是复制硬编码的城市
const cities = {
madrid: { sunny: "yes", capital: "yes" },
london: { sunny: "no", capital: "yes" },
miami: { sunny: "yes", capital: "no" },
hamburg: { sunny: "no", capital: "no", }
}
let bestCity = {};
Object.keys(cities).forEach(k => {
const city = cities[k];
if (city.sunny === "yes" && city.capital === "yes") bestCity[k]=city;
})
console.log(bestCity)
答案 2 :(得分:0)
您可以使用cities.madrid
访问madrid
内部的cities
对象。然后,您可以为它分配一个特定的变量/对象值,如下所示:
bestCities = {}
bestCities.madrid = cities.madrid;
答案 3 :(得分:0)
bestCity.madrid = cities.madrid;