javascript - 当这个循环运行时,最终数组只占最后一次运行,而不是全部。我怎样才能解决这个问题?
问题描述
我正在构建一个数组,在多次抽奖过程中跟踪从 1 到 80 的每 2 个数字对。我跟踪抽奖号码以及这对出现的频率。当我运行循环时,它似乎只跟踪了最近一次抽奖的结果,而不是更大的列表。当它通过循环时,我怎样才能让它更新?
我是 Javascript 的新手。我只学了一个星期。我学到的大部分东西都是通过搜索我想做的任何复制和粘贴来实现的。
var myarray = new Array()
var final = {
draws: new Array(),
fq: 0
}
for (f=1;f<=80;f++){
for (s=1;s<=80;s++){
if (f < s){
if (results.Picks[(f-1)].includes(f)){
if (results.Picks[(f-1)].includes(s)){
final.draws.push(results.Num[(f-1)])
final.fq++
myarray.push(final)
}
else {
myarray.push(final)
}
}
else {
myarray.push(final)
}
final = {
draws: new Array(),
fq: 0
}
}
}
}
console.log(myarray)
我正在寻找的是一种在设定的抽奖次数上跟踪每个数字配对的方法,但我似乎只得到最近一次抽奖的结果。预期输出是一个 myarray(包含 3160 个条目,一个对应于 1-80 的每对数字),并且在 myarray 的每个条目(对于每个数字对)中,应该有一个它出现的抽奖号码列表以及一个出现频率作为一个整数,表示它在最后一次抽奖中出现的次数。
我尝试在开始时添加一个循环来运行整个循环的次数与绘制次数一样多,但我真的不知道如何将结果数组的值加在一起。我最终得到 100 个数组,每个数组长度为 3160 个条目。我想要一个组合所有这些数字的数组。
//loop beginning
var combine=new Array();
for (i=0;i<results.Num.length;i++){
//loop ending
combine.push(myarray)
}
console.log(combine)
解决方案
推荐阅读
- visual-studio - 如何使用 Visual Basic 获取 TIFF 的高度和宽度
- python - 如何在带有Qtable视图的python pyqt5中添加复选框
- hive - 顶点失败。Azure HDINSIGHT 配置单元中的内存不足错误
- docker - 使用非root用户时openvpn容器出错
- python - 如何在没有 cmd 提示的情况下安装 Pyinstaller?
- python - 如何优化 for 循环 - Python 3
- javascript - 未捕获的错误 todoDiv 未定义 Vanilla Js
- python - 将买卖数据与 ['units','totalUnits', 'price'] 列匹配,这些列的行不相等且增量不均匀。加权单价问题
- ios - 为图像缩放添加 UIScrollView 会破坏 UIImageView 中的绘图
- python - 从 Django-Oscar AbstractUser 模型扩展的问题