这似乎与某些问题相似,但是我的问题与那些海报的问题不同,所以我认为这不是重复的问题。
if(inputSize instanceof NeuralNet){
console.log('NN being copied');
console.log(inputSize);
console.log('Copying neural net...');
this.layerA = [];
for(let i = 0; i < inputSize.layerA.length; i++)
this.layerA[i] = inputSize.layerA[i].slice();
this.layerB = [];
for(let i = 0; i < inputSize.layerB.length; i++)
this.layerB[i] = inputSize.layerB[i].slice();
console.log(this.layerA);
console.log(this.layerB);
console.log(this);
console.log('Finished copying NN');
this.biasA = inputSize.biasA;
this.biasB = inputSize.biasB;
console.log(this.layerA);
this.fitness = 0;
console.log(this);
}
这是我的代码中有问题的部分。当我在它们上应用console.log时,this.layerA和this.layerB的数组中有有效值,因此我知道在用值填充数组之前我不会记录这些问题。
但是,当我记录“ this”时,我得到了layerA和layerB的怪异值。数组仍然具有正确的尺寸,但是其中的大多数值都是不确定的,只有几个数字值(有时不是这种情况)。
此外,当我在记录此内容后立即记录this.layerA和this.layerB时,它们仍然具有正确的值。我绝对不知道为什么会这样。感谢您能提供的任何帮助。谢谢!