javascript - 这个 if 语句可以是一个 switch 语句并且更漂亮或更简单吗?

标签 javascript jquery if-statement switch-statement refactoring

这个 if 语句可以是一个 switch 语句并且更漂亮或更简单吗?

items = function () {
    n = $(item).length;

    if (n % 4 == 3){
        $(foo).addClass(small);
    } else if (n % 4 == 2){
        $(foo).addClass(medium);
    } else if (n % 4 == 1){
        $(foo).addClass(large);
    } else if (n % 4 == 0){
        $(foo).addClass(xlarge);
    } 
};

最佳答案

由于n % 4的结果是0123 您可以使用类数组,其中每个类索引对应于前面的结果之一:

items = function () {
    n = $(item).length;

    $(foo).addClass([xlarge, large, medium, small][n % 4]);  
};

您会看到,根据 n % 4 的值,将选择数组 [xlarge,large,medium,small] 中的一项,例如,如果n % 42,然后 medium 将被选中并传递给 addClass

关于javascript - 这个 if 语句可以是一个 switch 语句并且更漂亮或更简单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51990589/

相关文章:

javascript - Amcharts 图像 "304 Not Modified"错误

javascript - firebase 存储检查写入模式错误的元数据

javascript - 使用 Javascript 在另一个页面上引用变量。

javascript - Switch 语句实现未提供预期行为

excel - 标记所有不包含两个给定单词的单元格

javascript - HTML5/JS - 在 div 中显示多个文件输入

javascript - ViewMatrix 计算弄乱了模型

jquery 文件上传 rails "Error Empty file upload result"

javascript - 从 css 类动画显示/隐藏

linux - 两个变量比较,一到四种可能的输出