有没有更好的方法来减少多个 if 语句?

espresso_coffee

我有一个函数可以验证几个不同的条件。这是我的函数示例:

function checkData() {
  var errorMsg = "",
    fld1 = 0, //Number(document.getElementById('fld1').value),
    fld2 = 5, //Number(document.getElementById('fld2').value),
    fld3 = 1, //Number(document.getElementById('fld3').value),
    fld4 = 0; //Number(document.getElementById('fld4').value);

  if (!fld1) {
    errorMsg += "Error 1\n\n";
  }

  if (fld1 === fld4) {
    errorMsg += "Error 2\n\n";
  }

  if (fld2 > fld4) {
    errorMsg += "Error 3\n\n";
  }

  if (fld3 > 3) {
    errorMsg += "Error 4\n\n";
  }

  if (errorMsg !== "") {
    var check = confirm(errorMsg + "\n Do you want to submit the form?");

    if (check) {
      return true;
    } else {
      return false;
    }
  }

  return true;
}
<button onclick="checkData();">Click Here</button>

在上面的例子中,我硬编码了一些用于测试目的的值。但是,我想知道是否可以重构此代码并找到实现相同结果的更好方法?三元运算符会更适合吗?或者有另一种方法可以让它发挥作用?谢谢你。

马可斯

在这个用例中,我认为“multiple-ifs”解决方案非常清楚,因此可以使用它。

如果你想优化一下,我只能建议

        if(check){
            return true;
        }else{
            return false;
        }

成为

return !!check;

(这两个感叹词只是将任何对象强制转换为布尔值 :-))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有比巨大的“或”语句更好的方法来验证多个正则表达式条件?

来自分类Dev

Haskell:有没有更好的方法来编写具有相同RHS的case语句?

来自分类Dev

Haskell:有没有更好的方法来编写具有相同RHS的case语句?

来自分类Dev

有没有比一堆if语句更好的方法来调用我的方法?

来自分类Dev

有没有更好的方法来重写此丑陋的开关和if语句组合?

来自分类Dev

有没有更好的方法来简化许多嵌套的 select 语句?

来自分类Dev

有没有更好的方法来编写这个 switch 语句 javascript

来自分类Dev

有没有更有效的方法来运行多个UPDATE SQL语句

来自分类Dev

有没有更有效的方法来运行多个UPDATE SQL语句

来自分类Dev

我是否使用了太多 elseif 语句?有没有更好的方法来执行这样的大条件?

来自分类Dev

有没有更好的方法来写空白的if-else语句?

来自分类Dev

有没有更好的方法可以在if语句中编写多个OR语句?

来自分类Dev

有没有更好的方法可以在if语句中编写多个OR语句?

来自分类Dev

有没有更好的方法-Java条件语句

来自分类Dev

有没有一种好的方法来确保特定的switch语句处理所有枚举值?

来自分类Dev

有没有一种优雅的方法来重写使用match语句获取或创建Option的方法?

来自分类Dev

Android:在if else语句中有没有更简单的方法来调用特定整数?

来自分类Dev

有没有更有效的方法来比较python中的If语句中的多个浮点值?

来自分类Dev

有没有更有效的方法来比较python中的If语句中的多个浮点值?

来自分类Dev

条件语句有更好的替代方法来停止Logic App吗?

来自分类Dev

有没有一种有效的方法来执行带有两个变量的选择语句?

来自分类Dev

有没有更好的方法来减少对RDD [Array [Double]]的操作

来自分类Dev

有没有更干净的方法来处理 for 循环中的(连续)独占 if 语句?

来自分类Dev

有没有一种更干净的方法来检查条件以设置变量然后使用一堆IF语句?

来自分类Dev

有没有更好的方法可以在Mocha中编写测试语句?

来自分类Dev

有没有更好的方法在JavaScript中编写冗余过滤器语句?

来自分类Dev

有没有更好的方法在jsx中使用条件语句?

来自分类Dev

有没有更好的方法来选择具有相同父元素的多个元素?

来自分类Dev

有没有更好的方法可以在此SELECT语句中构造嵌入式SELECT语句?

Related 相关文章

  1. 1

    有没有比巨大的“或”语句更好的方法来验证多个正则表达式条件?

  2. 2

    Haskell:有没有更好的方法来编写具有相同RHS的case语句?

  3. 3

    Haskell:有没有更好的方法来编写具有相同RHS的case语句?

  4. 4

    有没有比一堆if语句更好的方法来调用我的方法?

  5. 5

    有没有更好的方法来重写此丑陋的开关和if语句组合?

  6. 6

    有没有更好的方法来简化许多嵌套的 select 语句?

  7. 7

    有没有更好的方法来编写这个 switch 语句 javascript

  8. 8

    有没有更有效的方法来运行多个UPDATE SQL语句

  9. 9

    有没有更有效的方法来运行多个UPDATE SQL语句

  10. 10

    我是否使用了太多 elseif 语句?有没有更好的方法来执行这样的大条件?

  11. 11

    有没有更好的方法来写空白的if-else语句?

  12. 12

    有没有更好的方法可以在if语句中编写多个OR语句?

  13. 13

    有没有更好的方法可以在if语句中编写多个OR语句?

  14. 14

    有没有更好的方法-Java条件语句

  15. 15

    有没有一种好的方法来确保特定的switch语句处理所有枚举值?

  16. 16

    有没有一种优雅的方法来重写使用match语句获取或创建Option的方法?

  17. 17

    Android:在if else语句中有没有更简单的方法来调用特定整数?

  18. 18

    有没有更有效的方法来比较python中的If语句中的多个浮点值?

  19. 19

    有没有更有效的方法来比较python中的If语句中的多个浮点值?

  20. 20

    条件语句有更好的替代方法来停止Logic App吗?

  21. 21

    有没有一种有效的方法来执行带有两个变量的选择语句?

  22. 22

    有没有更好的方法来减少对RDD [Array [Double]]的操作

  23. 23

    有没有更干净的方法来处理 for 循环中的(连续)独占 if 语句?

  24. 24

    有没有一种更干净的方法来检查条件以设置变量然后使用一堆IF语句?

  25. 25

    有没有更好的方法可以在Mocha中编写测试语句?

  26. 26

    有没有更好的方法在JavaScript中编写冗余过滤器语句?

  27. 27

    有没有更好的方法在jsx中使用条件语句?

  28. 28

    有没有更好的方法来选择具有相同父元素的多个元素?

  29. 29

    有没有更好的方法可以在此SELECT语句中构造嵌入式SELECT语句?

热门标签

归档