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

发布于 2022-09-13 01:25:56 字数 2692 浏览 33 评论 0

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;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

莫多说 2022-09-20 01:25:56

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;
}
内心激荡 2022-09-20 01:25:56
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; // 所有值均一一對應。
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文