如何解决有条件地比较数组的值并将其设置为变量
因此,我尝试根据传递的flag
对象数组的值为dishes
变量设置标志表情符号。
我有一个解决方案,但我敢打赌这可以改善。我的意思是想象50个国家...
let flag = ''
const countryFlags = ['??','??','??']
const dishes = [
{ dish: 'pizza',origin: 'italian' },{ dish: 'tzatziki',origin: 'greek' }
]
const chooseFlag = a => {
if (a === 'german') flag = countryFlags[0]
if (a === 'greek') flag = countryFlags[1]
if (a === 'spanish') flag = countryFlags[2]
if (a === 'italian') flag = countryFlags[3]
}
chooseFlag(dishes.origin)
有人速记解决方案吗?
解决方法
您可以创建键值对的map
(key
是国家/地区,value
是代码):
let flag = ''
const countryToFlags = {
'german':'??','greek':'??','spanish':'??','italian':'??'
}
const dishes = [
{ dish: 'pizza',origin: 'italian' },{ dish: 'tzatziki',origin: 'greek' }
]
const chooseFlag = a => {
flag = countryToFlags[a];
}
chooseFlag(dishes[0].origin);
console.log(flag);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。