记录一下新学习到的技能,直入主题!!
在一个功能上,要做根据后端穿过来的数字,前端实现显示不同的名族,为什么不让后端处理,直接返回汉字字符串,直接显示,因为他可以做,你也可以做;
记得有一次,后端要我传一个逗号分隔的数字字符串给他,还要排序,像
'1,2,3'这样的,我说我哪控制的住用户点击的顺序是什么,后端说那也行,你直接传过来,我sort一下也行,一语惊醒梦中人,我也可以sort一下啊,不说了,我来!!!说多了,一个小插曲,意思是,前端做的大部分后端也可以做,后端做的大部分前端也可以做。
警醒~
上代码:
function nation(key) {
if(key === 1) {
return nation = '汉族'
} else if (key === 2) {
return nation = '苗族'
} else if (key === 3) {
return nation = '藏族'
} else if (key === 4) {
return nation = '回族'
} else if (key === 5) {
return nation = '壮族'
} else if (key === 6) {
return nation = '维吾尔族'
}
//....
}
console.log(nation(2)) //苗族
如果要写56个民族,看的我else if直接吐了,用switch呢?上代码:
function nation(key){
switch(key) {
case 1:
return nation = '汉族'
case 2:
return nation = '苗族'
case 3:
return nation = '藏族'
case 4:
return nation = '壮族'
case 5:
return nation = '回族'
//...
}
}
console.log(nation(1)) //汉族
写上56个case,占据太多的代码行了,这个时候就可以js中的对象映射了,举一个简单的例子:
const nation = {
1: '汉族', 2: '苗族', 3: '藏族',4: '维吾尔族',5: '傣族',6: '羌族'
// ...
}
function nationFn(key) {
return nation[key]
}
console.log(nationFn(1))//汉族
这个时候,你就可以把nation这个常量对象写在项目中的常量文件中,哪里需要引入即可,以后发生变化,也非常方便维护,是不是非常方便!!!