在我的JSON结构中有countryIds字段:

[
    {countryIds: [1, 35, 16]}
    {countryIds: [6, 21]}
]

在UI中,我想显示国旗而不是国家ID。
因此,为此,我想我可以创建一个服务,它将返回图标标志的url:
getCountryFlagIconUrlById(countryId) {
  switch(countryId) {
    case 1: return "http://mySite:8080/resources/usa.png"
    .....
    case 200: return "http://mySite:8080/resources/russia.png"
  }

但问题是,我需要为200多个国家创建switch-case运算符。
还有更优雅的方法吗?

最佳答案

用地图就行了

var countries = {
   1: 'usa',
   ...,
   200: 'russia'
};

getCountryFlagIconUrlById如下:
function getCountryFlagIconUrlById(id) {
  return 'http://localhost:8080/resources/'+countries[id]+'.png';

}

目前的缺点是它不检查ID是否存在,但这是一个简单的if语句。

08-25 17:00
查看更多