Javascript 如何在此数据结构中选择这些成员变量
我的任务是从这些国家取回城市。然而,我不确定如何获得它们?获取城市名称的最简单方法是: 对于美国,它将是:纽约,旧金山 我试过这样做:cityData[0]。children[0],但这只会给我对象 如何针对每个国家的城市Javascript 如何在此数据结构中选择这些成员变量,javascript,typescript,Javascript,Typescript,我的任务是从这些国家取回城市。然而,我不确定如何获得它们?获取城市名称的最简单方法是: 对于美国,它将是:纽约,旧金山 我试过这样做:cityData[0]。children[0],但这只会给我对象 如何针对每个国家的城市 var cityData = [ {country: "USA", children:[ {"NYC": ["60%", "70%", "80%"]}, {"SFO": ["40%", "30%", "20%"]} ]},
var cityData = [
{country: "USA", children:[
{"NYC": ["60%", "70%", "80%"]},
{"SFO": ["40%", "30%", "20%"]}
]},
{country: "Mexico", children:[
{"Mexico City": ["80%", "80%", "80%"]},
{"Cancun": ["20%", "20%", "20%"]}
]},
{country: "Canada", children:[
{"Toronto": ["50%", "60%", "60%"]},
{"Vancouver": ["50%", "40%", "40%"]}
]
}];
是否有其他方法可以访问城市名称而不是执行以下操作:cityData[0]。children['NYC']和cityData[0]。children['SFO']
我需要两者,但如果有意义的话,需要一个选择器
如果有帮助,请随意将数据结构更改为更详细的数据结构 您可以使用Object.keys访问正在查看的对象的键,它将返回一个键数组。可以使用地图获取每个对象上的关键点,以返回城市数组。这将返回一系列城市
cityData[0].children.map(itm => Object.keys(itm)[0])
var cityData=[
{国家:美国,儿童:[
{NYC:[60%,70%,80%]},
{SFO:[40%,30%,20%]
]},
{国家:墨西哥,儿童:[
{墨西哥城:[80%,80%,80%]},
{坎昆:[20%,20%,20%]
]},
{国家:加拿大,儿童:[
{多伦多:[50%,60%,60%]},
{温哥华:[50%,40%,40%]
]
}];
console.logcityData[0].children.mapitm=>Object.keysitm[0]请尝试此操作
for(let key in cityData[0].children[0]) {
console.log(key);
}
如果您先预处理子数组(即对象),则可以使用您建议的确切语法 var cityData=[ {国家:美国,儿童:[ {NYC:[60%,70%,80%]}, {SFO:[40%,30%,20%] ]}, {国家:墨西哥,儿童:[ {墨西哥城:[80%,80%,80%]}, {坎昆:[20%,20%,20%] ]}, {国家:加拿大,儿童:[ {多伦多:[50%,60%,60%]}, {温哥华:[50%,40%,40%] ] }]; cityData.forEachcountry=>{ 让childrenObj={} country.children.forEachcity=>{ 让key=Object.keyscity[0] childrenObj[key]=key } country.children=childrenObj }
console.logcityData[0]。children['NYC']选择器需要什么样的外观?@Joel-轻松更改。编辑。奇怪的是,如果你用纽约市作为索引的话,它已经有点像纽约市了。