在这种速记条件下,我需要一些帮助。到目前为止,我对此的尝试已成为一个挑战,并且似乎无法使其更具可读性。我认为这是缩小的缩影。

  if (a === !0 || perSearch.rates.fy2) {
    e();
  } else if ( perSearch.rates.fy1.multiple || perSearch.rates.fy2.multiple ){
    calculateRates();
  } else {
    perSearch.rates.fy1.multiple;
  }


从这个简短的表达:

a === !0 || (perSearch.rates.fy2 ? perSearch.rates.fy1.multiple || perSearch.rates.fy2.multiple ? e() : calculateRates() : perSearch.rates.fy1.multiple ? e() : calculateRates())

最佳答案

您的表情对应

if (a === !0) {
} else {
    if (perSearch.rates.fy2) {
        if (perSearch.rates.fy1.multiple || perSearch.rates.fy2.multiple) {
            e();
        } else {
            calculateRates();
        }
    } else {
        if (perSearch.rates.fy1.multiple) {
            e();
        } else {
            calculateRates();
        }
    }
}


可以简化为

if (a !== true) {
    if (perSearch.rates.fy1.multiple || (perSearch.rates.fy2 && perSearch.rates.fy2.multiple)) {
        e();
    } else {
        calculateRates();
    }
}

关于javascript - 速记JS条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45946004/

10-11 14:48