优化代码分支
原始
function handle(name){
if(name=="张三"){
console.log("我是张三");
}else if(name=="李四"){
console.log("我是李四");
}else if(name=="王五"){
console.log("我是王五");
}else{
console.log("没有这个姓名");
}
}
handle("张三");
优化+
const map={
张三:"我是张三",
李四:"我是李四",
王五:"我是王五",
}
function handle(name){
if(map[name]) console.log(map[name]);
else console.log("没有这个姓名");
}
handle("张三");
优化++
const map={
张三:()=>{console.log("我是张三")},
李四:()=>{console.log("我是李四")},
王五:()=>{console.log("我是王五")},
}
function handle(name){
if(map[name]) map[name]();
else console.log("没有这个姓名");
}
handle("张三");
优化+++
const map=[
[()=>name.includes("张三"),()=>{console.log("我是张三")}],
[()=>name.includes("李四"),()=>{console.log("我是李四")}],
[()=>name.includes("王五"),()=>{console.log("我是王五")}]
]
function handle(name){
const result=map.find(m=>m[0]);
if(result) result[1]();
else console.log("没有这个姓名");
}
handle("张三");