Very Short and Clean Solution
```javascript []
const ops = [(a, b) => a + b, (a, b) => a - b, (a, b) => b - a, (a, b) => a * b, (a, b) => a / b, (a, b) => b / a];
const judgePoint24 = (nums, [a, b, c, d] = nums) => {
  switch (nums.length) {
    case 4:
      return [[a, b, c, d], [a, c, b, d], [a, d, c, b], [b, c, a, d], [b, d, a, c], [c, d, a, b]]
        .some(([w, x, y, z]) => ops.some(f => judgePoint24([f(w, x), y, z])));
    case 3:
      return [[a, b, c], [b, c, a], [a, c, b]].some(([x, y, z]) => ops.some(f => judgePoint24([f(x, y), z])));
    case 2:
      return ops.some(f => judgePoint24([f(a, b)]));
    default:
      return a > 23.999420 && a < 24.0001488;
  }
};
```
['JavaScript']