我开始学习使用 reduce,但是在如何使用它的概念上遇到了困难。当使用数字时我理解它的作用,但当涉及到对象和其他数据时,我很难跟进逻辑。我想要取一个对象数组并返回一个具有 countryName 键和值为其余国家数据的对象。任何帮助将不胜感激!
数据
var countries = [
{
"countryCode": "AF",
"countryName": "Afghanistan",
"population": "29121286",
"capital": "Kabul",
"continentName": "Asia"
},
{
"countryCode": "AL",
"countryName": "Albania",
"population": "2986952",
"capital": "Tirana",
"continentName": "Europe"
},
{
"countryCode": "DZ",
"countryName": "Algeria",
"population": "34586184",
"capital": "Algiers",
"continentName": "Africa"
},
]
预期输出
{
Afghanistan: {
"countryCode": "AF",
"population": "29121286",
"capital": "Kabul",
"continentName": "Asia"
},
Albania: {
"countryCode": "AL",
"population": "2986952",
"capital": "Tirana",
"continentName": "Europe"
},
Algeria: {
"countryCode": "DZ",
"population": "34586184",
"capital": "Algiers",
"continentName": "Africa"
},
}
基础尝试
function organizeByCountry(countries) {
return countries.reduce((acc, country) => {
return country.countryName
}, {})
}