复杂案例的switch语句的较短版本

时间:2017-03-17 08:03:36

标签: javascript

可以缩短此声明的版本吗?我知道如果情况类似于1,2,3等,则会有switch语句的简写。

    var direction = pos[i].direction;
    switch (true) {
        case (direction >= 0 && direction < 22):
            graphic = "/img/0.png"
            break;
        case (direction >= 22 && direction < 45):
            graphic = "/img/225.png"
            break;
        case (direction >= 45 && direction < 67):
            graphic = "/img/450.png"
            break;
        case (direction >= 67 && direction < 90):
            graphic = "/img/675.png"
            break;
        default:
            graphic = "/img/0.png"
            break;
    }

2 个答案:

答案 0 :(得分:3)

您可以省略第一次检查,因为之前已经检查了该值。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="victory" style="display:none">
  Congratulations, You Won!
</div>
<table style="display:none" id="table">
  <tr>
    <td id="r1c1" style="text-overflow"></td>
    <td id="r1c2"></td>
    <td id="r1c3"></td>
  </tr>
  <tr>
    <td id="r2c1"></td>
    <td id="r2c2"></td>
    <td id="r2c3"></td>
  </tr>
  <tr>
    <td id="r3c1"></td>
    <td id="r3c2"></td>
    <td id="r3c3"></td>
  </tr>
</table>

答案 1 :(得分:-1)

你应该使用if else,因为你已经准备好了条件。所以不需要使用switch case。