javascript—如何将这些if语句编写为单个嵌套开关

5vf7fwbs  于 2021-09-23  发布在  Java
关注(0)|答案(2)|浏览(515)

我试图将这个if语句作为switch语句写在这里

  1. if (value < 2500) {
  2. paystackFees = value * 0.015;
  3. };
  4. if (paystackFees > 2000) {
  5. paystackFees = 2000
  6. };
nxagd54h

nxagd54h1#

不管是使用开关还是if-else,都没有硬性规定,但是每当我打开一个变量的值时,我更喜欢使用开关,这个变量至少有两个选项,其中有常量值可以区分。无论如何,您可以通过简单地设置开关(true)并按原样设置条件来使用开关。

  1. if (value < 2500) {
  2. paystackFees = value * 0.015;
  3. if (paystackFees > 2000) {
  4. paystackFees = 2000
  5. };
  6. };

带开关:

  1. switch(true) {
  2. case value < 2500:
  3. paystackFees = value * 0.015;
  4. break;
  5. case value < 1500:
  6. // If you wish to extend it further
  7. paystackFees = value * 0.015;
  8. break;
  9. default:
  10. // Have a default value here
  11. break;
  12. }
  13. switch(true){
  14. case payStackFees > 2000:
  15. payStackFees = 2000;
  16. break
  17. case payStackFees > 3500 && payStackFees < 4000
  18. payStackFees = 3800;
  19. break;
  20. default:
  21. break;
  22. }
展开查看全部
vaqhlq81

vaqhlq812#

您可以按如下方式编写switch语句:

  1. switch(true){
  2. case value < 2500:
  3. paystackFees = value * 0.015;
  4. break;
  5. case paystackFees > 2000:
  6. paystackFees = 2000
  7. break;
  8. default:
  9. break;
  10. }

但这似乎有点问题,因为一个值可以同时满足这两个要求,例如:

  1. 2250 < 2500 && 2250 > 2000

因此,开关箱的顺序将决定 paystackFees . 你也可以省略 break 声明,在这种情况下,您的结果将完全取决于最后一种情况。

展开查看全部

相关问题