有什么方法可以将这两个代码合并为一个? 我想检查一些变量是否等于0或等于1或等于2或大于2且小于5或大于5.我应该为每个变量编写一个代码还是可以为所有变量编写代码?
<script> if (NRIRDL==0){ XRIRDL=0; } else if (NRIRDL == 1){ XRIRDL = 1; } else if (NRIRDL == 2){ XRIRDL = 1.8; } else if (NRIRDL > 2 && NRIRDL < 5){ XRIRDL = 0.9 * NRIRDL; } else { XRIRDL = NRIRDL - 1; } // code below is the same as code above, but variables are different. if (NRIRDR==0){ XRIRDR=0; } else if (NRIRDR == 1){ XRIRDR = 1; } else if (NRIRDR == 2){ XRIRDR = 1.8; } else if (NRIRDR > 2 && NRIRDR < 5){ XRIRDR = 0.9 * NRIRDR; } else { XRIRDR = NRIRDR - 1; } </script>Is there a way that I can combine these two codes into one? I want to check if some variables are equal to 0 or equal to 1 or equal to 2 or greater than 2 and less than 5 or greater than 5. Should I write a code for each variable or I can write a code for all variables?
<script> if (NRIRDL==0){ XRIRDL=0; } else if (NRIRDL == 1){ XRIRDL = 1; } else if (NRIRDL == 2){ XRIRDL = 1.8; } else if (NRIRDL > 2 && NRIRDL < 5){ XRIRDL = 0.9 * NRIRDL; } else { XRIRDL = NRIRDL - 1; } // code below is the same as code above, but variables are different. if (NRIRDR==0){ XRIRDR=0; } else if (NRIRDR == 1){ XRIRDR = 1; } else if (NRIRDR == 2){ XRIRDR = 1.8; } else if (NRIRDR > 2 && NRIRDR < 5){ XRIRDR = 0.9 * NRIRDR; } else { XRIRDR = NRIRDR - 1; } </script>最满意答案
实际上,它可以用三元运算符写成更短,并且没有多个条件,请检查:
function getValue(n) { return n >= 2 && n < 5 ? n * 0.9 : n == 0 ? 0 : n == 1 ? 1 : n - 1; } var var1 = 0; var var2 = 1; var var3 = 2; var var4 = 3; var var5 = 5; console.log(getValue(var1)); // outputs 0 console.log(getValue(var2)); // outputs 1 console.log(getValue(var3)); // outputs 1.8 console.log(getValue(var4)); // outputs 2.7 console.log(getValue(var5)); // outputs 4只需使用getValue(n)函数:传递您的变量,它将返回可以存储到另一个变量中的所需值,如var XRIRDL = getValue(NRIRDL); 或var XRIRDR = getValue(NRIRDR);
actually, it can be written shorter with ternary operator and without multiple if conditions, check it out:
function getValue(n) { return n >= 2 && n < 5 ? n * 0.9 : n == 0 ? 0 : n == 1 ? 1 : n - 1; } var var1 = 0; var var2 = 1; var var3 = 2; var var4 = 3; var var5 = 5; console.log(getValue(var1)); // outputs 0 console.log(getValue(var2)); // outputs 1 console.log(getValue(var3)); // outputs 1.8 console.log(getValue(var4)); // outputs 2.7 console.log(getValue(var5)); // outputs 4Just use getValue(n) function: pass your variable and it will return needed value that can be stored into another variable like var XRIRDL = getValue(NRIRDL); or var XRIRDR = getValue(NRIRDR);
更多推荐
发布评论