Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
ds.crtfilt [2026/02/24 11:35] root создано |
ds.crtfilt [2026/02/24 12:05] (текущий) root |
||
|---|---|---|---|
| Строка 2: | Строка 2: | ||
| **type** - тип алгоритма фильтрации значений; | **type** - тип алгоритма фильтрации значений; | ||
| - | **pos** - размер фильтра; | + | **size** - размер фильтра; |
| **Возвращает** - объект с набором методов для работы с фильтром.\\ | **Возвращает** - объект с набором методов для работы с фильтром.\\ | ||
| Строка 15: | Строка 15: | ||
| **min** - огибающий по минимальному значению; | **min** - огибающий по минимальному значению; | ||
| **max** - огибающий по максимальному значению. | **max** - огибающий по максимальному значению. | ||
| + | </ | ||
| + | |||
| + | <wrap ks> | ||
| + | Созданный объект фильтра содержит следующие методы: | ||
| + | **add(val)** - добавление очередного значения к фильтруемым данным, | ||
| + | **reset()** - сброс буфера фильтра в исходное состояние. | ||
| </ | </ | ||
| Строка 22: | Строка 28: | ||
| <code javascript> | <code javascript> | ||
| - | let num = 123; | + | // создаем среднеарифметический фильтр с буфером на три значения |
| - | log(' | + | let filt = ds.crtFilt(' |
| - | num = ds.setBit(num, 1, false); | + | // создаем данные, которые пропускаем через фильтр |
| - | num = ds.setBit(num, 2, true); | + | for (let i = 0; i < 18; i += 3) { |
| - | num = ds.setBit(num, 5, false); | + | let res = filt.add(i); |
| - | + | log('Исходное | |
| - | log('Полученное число:', | + | } |
| </ | </ | ||
| Строка 36: | Строка 42: | ||
| </ | </ | ||
| - | {{ :ds_setbit.png?nolink |}} | + | {{ :ds_crtfilt.png?nolink |}} |
| + | <wrap ks> | ||
| + | где видно, что каждое следующее значение является суммой трех предыдущих, | ||
| + | </ | ||
| + | |||
| + | <wrap ks> | ||
| + | Более подробные примеры предоставлены в статье **[[filt|Работа с фильтрами]]**. | ||
| + | </ | ||