javascript - JS数组在读取时被布尔值覆盖
问题描述
第一次来这里,我是一个糟糕的开发人员,所以请提前原谅我可能犯的许多错误:)
这是我的问题:我正在尝试制作一个程序来检查数组中每个数字从 1 到 9 的比例(我正在测试本福德定律),因为我创建了 9 个不同的变量(基本上是 nX 其中X = 1-9),我正在使用for循环读取我的数组,并在每次找到相应的数字时递增我的每个变量(如果array [i] = X,nX ++),然后我控制台记录我的数组。问题是在该控制台日志上,我的数组中的所有值都设置为“1”,在执行这几行之前情况并非如此。所以我不太确定会发生什么,但我猜测我的“if”检查返回“true”并将我的数组元素的值更改为 1 以反映这一点。所以我的问题是:你们中的任何一个聪明的巫师都知道我是什么
这是一些代码:
for (i = 0; i < benfordArrayProcessed.length; i++) {
if (benfordArrayProcessed[i] = 1) {
n1++;
} else if (benfordArrayProcessed[i] = 2) {
n2++;
} else if (benfordArrayProcessed[i] = 3) {
n3++;
}
[...]
解决方案
在您的表达式中,您需要使用布尔表达式而不是赋值,例如if (benfordArrayProcessed[i] == 1)
. 由于第一个语句本身的赋值,错误中的值会被覆盖,这就是您看到所有元素都为 1 的原因。
推荐阅读
- anylogic - 如何使用任何逻辑创建出口阻塞(目标线)的概率并让行人选择替代出口?
- azure - Azure IoT 中心 - 设备是从设备到 IoT 中心的自定义二进制有效负载,需要解析方式
- android - 当我使用 customadaptor 将单选按钮添加到列表视图时,单选按钮的布局/样式不同
- javascript - 当用户使用 javascript 和 openlayers 在网页中单击地图时获取鼠标位置
- php - 如何使用 PHP / MySQL 建立 Hashtags 之间的关系?
- android - 如何设计抠图背景图片?
- vue.js - this.$root 在组件中是什么意思?
- javascript - JS查找数组中的所有序列
- priority-web-sdk - Priority Web API 沙盒的连接详情(演示环境)
- reactjs - 用于处理密码验证、登录和电子邮件验证的单个文本输入组件