即使数组已完成加载,数组中的某些值仍未在函数中定义

时间:2018-07-29 03:49:18

标签: javascript arrays undefined

这似乎与某些问题相似,但是我的问题与那些海报的问题不同,所以我认为这不是重复的问题。

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的数组中有有效值,因此我知道在用值填充数组之前我不会记录这些问题。

Part of log:

但是,当我记录“ this”时,我得到了layerA和layerB的怪异值。数组仍然具有正确的尺寸,但是其中的大多数值都是不确定的,只有几个数字值(有时不是这种情况)。

此外,当我在记录此内容后立即记录this.layerA和this.layerB时,它们仍然具有正确的值。我绝对不知道为什么会这样。感谢您能提供的任何帮助。谢谢!

0 个答案:

没有答案