请问怎么将下面代码,用for循环,拼接简化

if (
           algParam1.检测区域个数 == $("#Number_of_ProtectionArea").val()
        && algParam1.算法工作模式 == $("#Algorithm_workingmode").val()
        && algParam1.温度补偿系数 == $("#Tempco").val()
        && algParam1.温度补偿值 == $("#Temperature").val()

        && algParam1.检测区域1起始坐标[0] == $("#emitter_coordinatesx1").val()
        && algParam1.检测区域1起始坐标[1] == $("#emitter_coordinatesy1").val()
        && algParam1.检测区域1宽度 == $("#windowsize1").val()
        && algParam1.检测区域1高度 == $("#emitter_sensitivity1").val()

        && algParam1.检测区域2起始坐标[0] == $("#emitter_coordinatesx2").val()
        && algParam1.检测区域2起始坐标[1] == $("#emitter_coordinatesy2").val()
        && algParam1.检测区域2宽度 == $("#windowsize2").val()
        && algParam1.检测区域2高度 == $("#emitter_sensitivity2").val()

        && algParam1.检测区域3起始坐标[0] == $("#emitter_coordinatesx3").val()
        && algParam1.检测区域3起始坐标[1] == $("#emitter_coordinatesy3").val()
        && algParam1.检测区域3宽度 == $("#windowsize3").val()
        && algParam1.检测区域3高度 == $("#emitter_sensitivity3").val()

        && algParam1.检测区域4起始坐标[0] == $("#emitter_coordinatesx4").val()
        && algParam1.检测区域4起始坐标[1] == $("#emitter_coordinatesy4").val()
        && algParam1.检测区域4宽度 == $("#windowsize4").val()
        && algParam1.检测区域4高度 == $("#emitter_sensitivity4").val()

        && algParam1.检测区域5起始坐标[0] == $("#emitter_coordinatesx5").val()
        && algParam1.检测区域5起始坐标[1] == $("#emitter_coordinatesy5").val()
        && algParam1.检测区域5宽度 == $("#windowsize5").val()
        && algParam1.检测区域5高度 == $("#emitter_sensitivity5").val()

        && algParam1.检测区域6起始坐标[0] == $("#emitter_coordinatesx6").val()
        && algParam1.检测区域6起始坐标[1] == $("#emitter_coordinatesy6").val()
        && algParam1.检测区域6宽度 == $("#windowsize6").val()
        && algParam1.检测区域6高度 == $("#emitter_sensitivity6").val()

        && algParam1.检测区域7起始坐标[0] == $("#emitter_coordinatesx7").val()
        && algParam1.检测区域7起始坐标[1] == $("#emitter_coordinatesy7").val()
        && algParam1.检测区域7宽度 == $("#windowsize7").val()
        && algParam1.检测区域7高度 == $("#emitter_sensitivity7").val()

        && algParam1.检测区域8起始坐标[0] == $("#emitter_coordinatesx8").val()
        && algParam1.检测区域8起始坐标[1] == $("#emitter_coordinatesy8").val()
        && algParam1.检测区域8宽度 == $("#windowsize8").val()
        && algParam1.检测区域8高度 == $("#emitter_sensitivity8").val()) {
            return false;
    }
阅读 1.7k
2 个回答

image.png

[...Array.from({length:8})].every((_,index)=>
algParam1[`检测区域${index+1}起始坐标`][0] == $(`#emitter_coordinatesx${index+1}`).val() &&
algParam1[`检测区域${index+1}起始坐标`][1]==$(`#emitter_coordinatesy${index+1}`).val()&&
algParam1[`检测区域${index+1}宽度`]==$(`#windowsize${index+1}`).val() && 
algParam1[`检测区域${index+1}高度`] == $(`#emitter_sensitivity${index+1}`).val()`)

完整代码如下

if (
    algParam1.检测区域个数 == $("#Number_of_ProtectionArea").val() 
    && algParam1.算法工作模式 ==$("#Algorithm_workingmode").val() 
    && algParam1.温度补偿系数 ==$("#Tempco").val() 
    && algParam1.温度补偿值 ==$("#Temperature").val()
    && [...Array.from({length:8})].every((_,index)=>
        algParam1[`检测区域${index+1}起始坐标`][0] == $(`#emitter_coordinatesx${index+1}`).val() 
        && algParam1[`检测区域${index+1}起始坐标`][1]==$(`#emitter_coordinatesy${index+1}`).val()
        && algParam1[`检测区域${index+1}宽度`]==$(`#windowsize${index+1}`).val()
        && algParam1[`检测区域${index+1}高度`] == $(`#emitter_sensitivity${index+1}`).val()`)
    ){
        return false;
}
let keys = {
    "Number_of_ProtectionArea": "检测区域个数",
    "Algorithm_workingmode": "算法工作模式",
    "Tempco": "温度补偿系数",
    "Temperature": "温度补偿值",
    "emitter_coordinatesx": ["检测区域","起始坐标"],
    "windowsize": ["检测区域","宽度"],
    "emitter_sensitivity": ["检测区域","高度"],
};

let result = Object.keys(keys).find(k => {
    if (typeof keys[k] == 'string') return algParam1[keys[k]] != $(`#${k}`).val();
    else for(let i = 0; i < 8; i++) if (algParam1[keys[k].join(i + 1)] != $(`#${k}${i+1}`).val()) return true;
    return false;
})

if (result == null) return false; // 所有值均一一對應。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题