【发布时间】:2021-10-30 18:18:01
【问题描述】:
我有一个 processAverage 函数,它通过对从连接设备发送的两个值进行平均来返回值 Z。如果此值 Z 低于阈值 (this.limitZ),则会在服务器上触发警报。
但是,在我看来,警报发送得太快了,我想使用一个函数来减慢它的速度,该函数仅在 processAverage 的最后 10 个方程中返回的值低于阈值 limitZ 5 次时才发送警报。
这是我到目前为止想出的。首先,我将 processAverage 的最后 10 个结果保存在一个滑动数组中:
const delimiter = '\n'
const eValues = []
const elmt = []
this.limitZ = 45
const z = this.processAverage(e1, e3)
const i = 0;
do
{i += 1
elmt.push (z)
}
while (i < 10)
现在,我必须编写一个函数,返回数组中低于阈值 this.limitZ 的所有值。
例如
var filtered = items.filter(function(item) {
return item < this.limitZ;
});
console.log(filtered);
count(filtered) {
const =filtered;
return
}
然后我需要一个函数,当过滤的该函数的长度超过 5 项时会发出警报。它可能看起来像:
if (filtered.length > 5) {
this.emit('alert', msg)
但是,我不确定如何正确编写它并让这些函数一起工作,因为我不了解 JS,我尝试运行的所有内容都告诉我变量存在问题,但我也确定存在一旦数组中的 5 个值低于阈值时触发警报的更简单方法,对吧?
提前致谢
【问题讨论】:
-
你声明了 const i = 0。把它改成 let i = 0。如果你用 const 声明,你不能重新赋值。请参阅文档developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript arrays count threshold