Javascript 简单的拼图

Javascript Simple Puzzle

如何优化以下 JS 语句:

obj.endDate = obj.status && (obj.status.length == 2 || (obj.status.length == 1 && obj.status[0] == 0)) ? undefined : obj.endDate;

其中

obj.status是数组类型,只允许取以下值:

  1. [1]
  2. [0]
  3. [1,0]
  4. 未定义

obj.status 可能未定义也可能未定义。

问题并没有真正优化它。问题是它难以辨认。您或其他人稍后阅读这段代码时会很感激看到它分成一些 if/else 或至少用一些清晰的命名将它分成一点。