首页 > 解决方案 > console.log 没有显示我数组中的对象

问题描述

我目前正在制作一个生物繁殖游戏计算器/滚轮,但我遇到了一个我似乎无法弄清楚的奇怪问题。

我不太确定如何解释它,但最终的问题是我从父亲的遗传信息中提取的“基因缩写”没有出现在婴儿的数组中。我使用的数学应该使基因以 99% 通过,这意味着它肯定应该在数组中,但实际上并没有出现?我尝试了一堆不同的方法,我也从这里开始查找,但似乎没有任何问题。

我在 console.log 中检查了这个,数组显示为空,但是如果你在控制台中展开它,你可以看到它里面有值!我不确定我做错了什么,它阻止我继续我计划的其余代码。由于基因缩写实际上不在阵列中,因此阵列不会向孩子的遗传信息推送任何内容。(虽然我可能错了,因为我实际上不是编码器,但是当我到达它时我会越过下一座桥哈哈)

滚筒本身位于 [ http://seabirdtestroller.neocities.com ],因此您可以尝试一下,看看它是如何工作的。您将需要在输入字段中输入我占位符的确切文本,因为现在这些是我正在测试的唯一基因缩写,并且目前仅从父亲这边读取

这里是整个 genohell.js 文件以供快速参考,但它也从 rollmath.js 文件中提取信息(来自 roll 站点):

   function makeGeno(){
 var geneArray = [];
 $babyGenes = geneArray;

console.log("Dad: " + $DadGenes);
//console.log("Mom: " + $MomGenes);
console.log($babyGenes);

var allGenes = {
     "free" : [
       { "rec"  : "nA",
         "dom"  : "AA",
         "phen" : "Ash"
       },
       { "rec"  : "nPn",
         "dom"  : "PnPn",
         "phen" : "Pangare"
       },
       { "rec"  : "nPt",
         "dom"  : "PtPt",
         "phen" : "Points"
       },
       { "rec"  : "nS",
         "dom"  : "SS",
         "phen" : "Soot"
       },
       { "rec"  : "nSa",
         "dom"  : "SaSa",
         "phen" : "Sable"
       },
       { "rec"  : "nSc",
         "dom"  : "ScSc",
         "phen" : "Scruff"
       },
       { "rec"  : "nSk",
         "dom"  : "SkSk",
         "phen" : "Skull"
       }
     ]
}

/*-------------------------------- CALC HELL -------------------------------------------*/

if($DadGenes.includes("nA")){
 $passrate = Math.floor((Math.random() * 100) + 1);
 if($passrate <= 99){
   geneArray.push("nA");
 }
}
if($DadGenes.includes("nPn")){
 $passrate = Math.floor((Math.random() * 100) + 1);
 if($passrate <= 99){
   geneArray.push("nPn");
 }
}


}

我尝试过但似乎对我不起作用的事情:

在控制台中修复 babyGenes 数组以便实际出现值的任何想法将不胜感激,谢谢!:)

标签: javascriptarrays

解决方案


当在控制台中单击之前某个东西看起来是空的,这通常意味着在console.log运行时数组是空的,但是当你打开它时它是满的。你在console.log这里打电话:

var geneArray = [];
$babyGenes = geneArray;

push您正在记录它,而它是空的,当您完成所有ing后应该记录它时。

if($DadGenes.includes("nPn")){
 $passrate = Math.floor((Math.random() * 100) + 1);
 if($passrate <= 99){
   geneArray.push("nPn");
 }
}

// now, log the array
var geneArray = [];
$babyGenes = geneArray;
console.log($babyGenes);

} // end of func

推荐阅读