Javascript Else声明获胜';我不能在循环中工作

Javascript Else声明获胜';我不能在循环中工作,javascript,if-statement,Javascript,If Statement,我在这里有一个功能并没有像我希望的那样工作。经过一点测试,我发现它没有运行“elseif”语句。 代码如下: getWeights : function() { weights = []; for (var i = 0; i < hiddenLayer.length; i++) { weights[i] = {}; for (var j = 0; j < Object.keys(hiddenLayer[i]).length * 3; j

我在这里有一个功能并没有像我希望的那样工作。经过一点测试,我发现它没有运行“elseif”语句。 代码如下:

getWeights : function() {
    weights = [];
    for (var i = 0; i < hiddenLayer.length; i++) {
        weights[i] = {};
        for (var j = 0; j < Object.keys(hiddenLayer[i]).length * 3; j++) {
            if (i == 0) {
                for (var t = 0; t < input.length; t++) {
                    weights[i]["weightsSet" + j] = 1;
                }
            }
            else {
                weightCalc = Object.keys(hiddenLayer[i - 1]).length;
                for (var u = 0; u < Object.keys(hiddenLayer[i]).length * weightCalc; u++) {
                    weights[i]["weightsSet" + j] = 1;
                }
            }
        }
    }
},
getWeights:function(){
权重=[];
对于(变量i=0;i
请帮我找出它不起作用的原因。 非常感谢您的帮助

编辑 删除评论

编辑2
我解决了这个问题。感谢所有的帮助:)

检查第二个或第三个循环是否可以无限次运行

尝试将函数简化如下,然后调试以查看发生的情况:

getWeights : function() {
    weights = [];
    for (var i = 0; i < hiddenLayer.length; i++) {

        weights[i] = {};
        var limit = input.length;

        if (i > 0) {
            var weightCalc = Object.keys(hiddenLayer[i - 1]).length;
            limit = Object.keys(hiddenLayer[i]).length * weightCalc;
        } 

        for (var j = 0; j < Object.keys(hiddenLayer[i]).length * 3; j++) {
            for (var t = 0; t < limit; t++) {
                    weights[i]["weightsSet" + j] = 1;
            }
        }
    }
}
getWeights:function(){
权重=[];
对于(变量i=0;i0){
var-weightCalc=Object.keys(hiddenLayer[i-1]).length;
limit=Object.keys(hiddenLayer[i]).length*weightCalc;
} 
对于(var j=0;j

要获得进一步的帮助,您需要添加与此代码相关的数据,以及问题中的预期输出。

您能否提供一个示例,说明什么是
hiddenLayer
。由于循环
i
是从0到
hiddenLayer.length
,因此它永远不能小于零。我同意@YeldarKurmangaliyev的观点,它应该是一个
else
,而不是
,否则如果
,我不知道这段代码的意图是什么,但我猜你没有得到你期望的结果,因为你在检查你的内环内部的外环索引。我怀疑您希望将检查
I
值的if/else逻辑置于内部循环之外。通过在调试器中单步执行来调试代码。它们不会无限循环