Расчет скользящего среднего от параметра

Хочу сделать виртуальное устройство, которое считает скользящее среднее от какого-то другого параметра.
Что-то навроде вот такого:

defineRule("update_average_value", {
whenChanged: ["XXX/param"],
  then: function(val) {
        var values=[];
        values.push(val);
        if (values.length>100) values.shift();
        sum=0;
        for (i=0;i<values.length;i++)
        {
            sum=sum+values[i];
        }
        
        dev["newdev"]["aver_param"] = sum/values.length;
    }
});

В коде выше мне не ясно время жизни массива values - он будет каждый раз новый при вызове функции по whenChanged? Как сделать его статическим?
В примерах есть PersistentStorage, но на флеш я не хочу сохранять данные. Как правильно сделать?

Добрый день.
Для того чтобы массив существовал - его надо определить вне функции как минимум.

Спасибо. Увидел в документации к разделе про “Изоляция сценариев”.

1 лайк

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.