javascript - 尝试让模运算符在 JavaScript 中工作

标签 javascript modulo

尝试让模运算符在 JavaScript 中工作。这是用于接收数组中的值的 NodeRed 函数。我可以在没有模运算符的情况下得到平均值,但没有任何反应。有人可以帮忙吗?这样做的要点是考虑 0-360 度来获得正确的平均 Angular

value1 = {};
value2 = {};
value3 = {};
value4 = {};
value5 = {};
avg = {};


msg.number = msg.payload;

value1.payload=msg.number[1];

value2.payload=msg.number[2];

value3.payload=msg.number[3];

value4.payload=msg.number[4];

avg.payload = (((msg.number[1]+msg.number[2]+msg.number[3]+msg.number[4])/4)%360);


return avg;

最佳答案

模运算符返回两个操作数之间除法的余数。看来您想要平均 Angular ,这将是您的函数:

((msg.number[1]+msg.number[2]+msg.number[3]+msg.number[4])/4)

如果您仍然想对此应用 360 模,则应删除周围的 ** ** 并得到以下内容:

avg.payload = ((msg.number[1]+msg.number[2]+msg.number[3]+msg.number[4])/4) % 360;

但是通过添加“% 360”,您将返回 Angular 平均值,因为理论上它们不会大于 360。如果您想要将剩余 Angular 与 360 进行比较,您可以尝试以下操作:

avg.payload = 360 % ((msg.number[1]+msg.number[2]+msg.number[3]+msg.number[4])/4);

看看这是否能得到你想要的结果。

如果您想了解有关该运算符的更多信息,我会查看 Mozilla 的 JavaScript:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators

关于javascript - 尝试让模运算符在 JavaScript 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42026428/

相关文章:

c - 负数的模运算

javascript - 添加 h1 标签时 Lightgallery 不工作?

javascript - 悬停时如何制作选取框 - 文本滚动和无限循环,悬停 - 回到起始位置?

javascript - 如何导出 JSON 文件中的对象数组,然后使用 es6 导入

Ruby 模除法

java - Math.pow(65,17) % 3233 的令人惊讶的结果

javascript - 延迟 Chosen.js 搜索过滤器

javascript - 如何将表单中的对象数据置于特定属性下

c - 在c中指针变量保存的地址上使用模数

bash - BASH 脚本中靠近 `%` 运算符的语法错误