# 一、使用对象代替 if 及 switch
在很多情况下,我们经常会遇到循环判断执行赋值操作的场景,一般我们都会使用 if 及 switch 的条件判断,如果符合则执行赋值,不符合则进入下个判断,比如
let name = 'lisi';
let age = 18;
if (name === 'zhangsan') {
age = 21;
} else if (name === 'lisi') {
age = 18;
} else if (name === 'wangwu') {
age = 12;
}
// 或者
switch(name) {
case 'zhangsan':
age = 21;
break
case 'lisi':
age = 18;
break
case 'wangwu':
age = 12;
break
}
@前端进阶之旅: 代码已经复制到剪贴板
这样的写法不仅冗余,而且代码执行效率不高,我们可以使用对象的形式简写
let name = 'lisi';
let obj = {
zhangsan: 21,
lisi: 18,
wangwu: 12
};
let age = obj[name] || 18;
@前端进阶之旅: 代码已经复制到剪贴板
以上这种技巧适用于循环判断一次赋值的情况,如果判断过后有较多处理逻辑的还需要使用
if或switch等方法
# 二、使用 Array.from 快速生成数组
一般我们生成一个有规律的数组会使用循环插入的方法,比如使用时间选择插件时,我们可能需要将小时数存放在数组中
let hours = [];
for (let i = 0; i < 24; i++) {
hours.push(i + '时');
}
@前端进阶之旅: 代码已经复制到剪贴板
let hours = Array.from({ length: 24 },