复杂if语句;||没有我希望的工作



我觉得这是一个非常愚蠢的问题,但我的大脑被炸了。现在,我正在研究一套非常复杂的IF和其他陈述,我想知道是否有更简单的方法?我最初尝试或陈述,但这并没有给我带来理想的结果。

if(fields[0].value === '' && fields[1].value === '' && fields[2].value === '' && fields[3].value === '' ) {
    clusterGroup.addLayer(layer);
} else if(fields[0].value === '' && fields[1].value === city && fields[2].value === '' && fields[3].value === '') {
    clusterGroup.addLayer(layer);
} else if(fields[0].value === state && fields[1].value === '' && fields[2].value === '' && fields[3].value === '') {
    clusterGroup.addLayer(layer);
} else if(fields[0].value === state && fields[1].value === city && fields[2].value === '' && fields[3].value === ''){
    clusterGroup.addLayer(layer);
} else if(fields[0].value === '' && fields[1].value === '' && (fields[2].value <= sq && sq != null) && fields[3].value === '') {
    clusterGroup.addLayer(layer);
} else if(fields[0].value === '' && fields[1].value === '' && fields[2].value === '' && (fields[3].value >= sq  && sq != null)) {
    clusterGroup.addLayer(layer);
} else if(fields[0].value === '' && fields[1].value === city && (fields[2].value <= sq && sq != null) && fields[3].value === ''){
    clusterGroup.addLayer(layer);
} else if(fields[0].value === state && fields[1].value === '' && fields[2].value === '' && (fields[3].value >= sq  && sq != null)){
    clusterGroup.addLayer(layer);
} else if(fields[0].value === state && fields[1].value === city && (fields[2].value <= sq && sq != null) && fields[3].value === ''){
    clusterGroup.addLayer(layer);
} else if(fields[0].value === state && fields[1].value === city && fields[2].value === '' && (fields[3].value >= sq  && sq != null)){
    clusterGroup.addLayer(layer);
} else if(fields[0].value === state && fields[1].value === city && (fields[2].value <= sq && sq != null) && (fields[3].value >= sq  && sq != null)){
    clusterGroup.addLayer(layer);
}

谢谢您的高级。

我不知道您是如何使用OR Statement (||)但是可以使用一个if statement

if(
    (fields[0].value === '' && fields[1].value === ''       && fields[2].value === '' && fields[3].value === '') || 
    (fields[0].value === '' && fields[1].value === city     && fields[2].value === '' && fields[3].value === '')  ||
    (fields[0].value === state && fields[1].value === ''    && fields[2].value === '' && fields[3].value === '') || 
    (fields[0].value === state && fields[1].value === city  && fields[2].value === '' && fields[3].value === '') || 
    (fields[0].value === '' && fields[1].value === ''   && (fields[2].value <= sq && sq != null) && fields[3].value === '') || 
    (fields[0].value === '' && fields[1].value === ''   && fields[2].value === '' && (fields[3].value >= sq  && sq != null)) || 
    (fields[0].value === '' && fields[1].value === city && (fields[2].value <= sq && sq != null) && fields[3].value === '') || 
    (fields[0].value === state && fields[1].value === ''    && fields[2].value === '' && (fields[3].value >= sq  && sq != null)) || 
    (fields[0].value === state && fields[1].value === city  && (fields[2].value <= sq && sq != null) && fields[3].value === '') || 
    (fields[0].value === state && fields[1].value === city  && fields[2].value === '' && (fields[3].value >= sq  && sq != null)) || 
    (fields[0].value === state && fields[1].value === city  && (fields[2].value <= sq && sq != null) && (fields[3].value >= sq  && sq != null)) 
){
    clusterGroup.addLayer(layer);
}

尝试将其重组为类似的东西

if (sq != null) {
if (fields[3].value >= sq &&
    fields[2].value <= sq &&
    fields[0].value === state &&
    field[1].value === city) {
    clusterGroup.addLayer(layer);
} else if (fields[3].value >= sq) {
    if ((fields[0].value === state) ||
        (fields[0].value === state && field[1].value === city) ||
        (fields[0].value === '' &&
            field[1].value === '')) {
        clusterGroup.addLayer(layer);
    }
} else if (fields[2].value <= sq) {
    if ((fields[1].value === city) ||
        (fields[0].value === state && field[1].value === city) ||
        (fields[0].value === '' && field[1].value === '')) {
        clusterGroup.addLayer(layer);
    }
}
} else if ((fields[1].value === '' && fields[0].value === state) ||
(fields[0].value === '' && fields[1].value === city) ||
(fields[0].value === state && fields[1].value === city)) {
clusterGroup.addLayer(layer);
}

相关内容

最新更新