如何检查变量是否已更改以及是否更大存储它

How to check if a variable has changed and if it is greater store it

我正在获取分配给变量 measured_altitude 的设备的当前海拔高度(每 500 毫秒更新一次),我想保持最大值。这曾经达到的价值。如果新值 > 旧最大值然后新值 = 最大值,它应该很简单。但这似乎不起作用。与特定值比较时,它有效:

例如

setInterval(function () {
    console.log("measured: " + measured_altitude);
    maxH = 50;
    if (measured_altitude > maxH) {
        console.log("new max");
        $("#max-height-value").text(measured_altitude);
        };

}, 1000);

但当我尝试与高度进行比较时却没有。

绝对是个愚蠢的问题,但我挠头了一个多小时。

除非我误解了你的目标,否则你需要将新高度分配给 if 内的 maxH 并将初始声明移到 setInterval 之外:

var maxH = 50; /* initial value (outside setInterval) */

setInterval(function () {
    console.log("measured: " + measured_altitude);

    if (measured_altitude > maxH) {
        maxH = measured_altitude; /* update if new value is larger */
        console.log("new max");
        $("#max-height-value").text(measured_altitude);
        };

}, 1000);