我正在尝试编写一个方法,它将帮助我返回所有货币的对象键数组。
但是,我陷入了一个困境,我无法获得带有键、值对的完整对象数组。
是的,我主要需要使用 ES6 方法。我不想使用任何其他迭代器。
例如:
我需要的:
['AED', 'ALL', 'AUD', 'EUR' .....]
我得到什么:
[{AED: {"isDefault": true}}, {ALL: {"isDefault": true}}, {AUD: {"isDefault": true}}, {'EUR': {"isDefault": true}}.....]
你能帮我实现这个目标吗?
这是代码:
var myJSON = {
"countryCode": {
"Australia": "AU",
"United States": "US",
"Britain": "GB",
"Japan": "JP",
"India": "IND",
"France": "FR",
"Russia": "RS"
},
"countries": {
"AE": {
"currencies": {
"AED": {
"isDefault": true
}
}
},
"AL": {
"currencies": {
"ALL": {
"isDefault": true
}
}
},
"AU": {
"currencies": {
"AUD": {
"isDefault": true
}
}
},
"US": {
"currencies": {
"USD": {
"isDefault": true
}
}
},
"GB": {
"currencies": {
"EUR": {
"isDefault": true
}
}
},
"FR": {
"currencies": {
"EUR": {
"isDefault": true
}
}
},
"JP": {
"currencies": {
"JPY": {
"isDefault": true
}
}
},
"RS": {
"currencies": {
"RSD": {
"isDefault": false
}
}
},
"ZA": {
"currencies": {
"ZAR": {
"isDefault": true
}
}
}
}
};
function getData() {
const myArr = Object.keys(myJSON.countries).map((k) => myJSON.countries[k]);
console.log(myArr);
const myArr1 = myArr.map((currency) => currency.currencies);
console.log(myArr1);
const myArr2 = myArr1.map((key, value) => key);
console.log(myArr2);
}
<button onclick="getData()">Get Data</button>
您可以获取对象的第一个键。
myArr1.map((key, value) => Object.keys(key)[0]);
function getData() {
const result = Object
.keys(myJSON.countries)
.map(k => myJSON.countries[k])
.map(({ currencies }) => currencies)
.map(currency => Object.keys(currency)[0]);
console.log(result);
}
var myJSON = { countryCode: { Australia: "AU", "United States": "US", Britain: "GB", Japan: "JP", India: "IND", France: "FR", Russia: "RS" }, countries: { AE: { currencies: { AED: { isDefault: true } } }, AL: { currencies: { ALL: { isDefault: true } } }, AU: { currencies: { AUD: { isDefault: true } } }, US: { currencies: { USD: { isDefault: true } } }, GB: { currencies: { EUR: { isDefault: true } } }, FR: { currencies: { EUR: { isDefault: true } } }, JP: { currencies: { JPY: { isDefault: true } } }, RS: { currencies: { RSD: { isDefault: false } } }, ZA: { currencies: { ZAR: { isDefault: true } } } } };
<button onclick="getData()">Get Data</button>
或者只需一步:
function getData() {
const result = Object
.keys(myJSON.countries)
.map(k => Object.keys(myJSON.countries[k].currencies)[0]);
console.log(result);
}
var myJSON = { countryCode: { Australia: "AU", "United States": "US", Britain: "GB", Japan: "JP", India: "IND", France: "FR", Russia: "RS" }, countries: { AE: { currencies: { AED: { isDefault: true } } }, AL: { currencies: { ALL: { isDefault: true } } }, AU: { currencies: { AUD: { isDefault: true } } }, US: { currencies: { USD: { isDefault: true } } }, GB: { currencies: { EUR: { isDefault: true } } }, FR: { currencies: { EUR: { isDefault: true } } }, JP: { currencies: { JPY: { isDefault: true } } }, RS: { currencies: { RSD: { isDefault: false } } }, ZA: { currencies: { ZAR: { isDefault: true } } } } };
<button onclick="getData()">Get Data</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)