我有一个看起来像这样的数组。我有一个包含name
和code
对象的国家/地区数组。根据国家/地区名称,我想返回国家/地区代码。
var countries = [
{
name: 'United States',
code: 'US'
},
{
name: 'Spain',
code: 'ES'
}
];
我知道我可以做这样的事情,但我确信必须有更简洁的方法来做到这一点:
var code;
getCountryFromCode(country) {
for (var i = 0; i < countries.length; i++) {
if (countries[i].name === country) {
code = countries[i].code;
}
}
}
答案 0 :(得分:2)
使用es6:
countries.find(x => x.name === 'United States').code
答案 1 :(得分:2)
您可以使用Array#find()
var countries = [
{
name: 'United States',
code: 'US'
},
{
name: 'Spain',
code: 'ES'
}
];
var countryName = "Spain";
console.log(countries.find(c=>c.name===countryName).code);