Angular不返回内部嵌套的循环

时间:2018-09-17 07:05:47

标签: javascript angular for-loop

我正在尝试制作一个for循环脚本,该脚本使用Angular创建订单并将其添加到网页中。我在使用某些for循环时遇到了麻烦,因为当我使用console.log()时,它仅输出外部循环,而不输出内部循环。而且我需要将变量顺序传递给另一个函数,所以这就是为什么我需要该顺序具有正确数据的原因。

var order;
    for (var i = 1; i <= 52; i += 1) {
        if (i <= 32) {
            order = "500200000" + i;
            element(by.model("order")).clear().sendKeys(order);
            if (i >= 10) {
                order = "50020000" + i;
                element(by.model("order")).clear().sendKeys(order);
            }
        } else if (i == 33) {
            for (var a = 1; a <= 30; a += 1) {
                order = "69200000" + a;
                element(by.model("order")).clear().sendKeys(order);
                if (i >= 10) {
                    order = "6920000" + a;
                    element(by.model("order")).clear().sendKeys(order);
                }
            }
            order = "5002000033";
            element(by.model("order")).clear().sendKeys(order);
        }
        console.log(order);
 }; 

结果:

5002000001
5002000002
5002000003
5002000004
5002000005
5002000006
5002000007
5002000008
5002000009
5002000010
5002000011
5002000012
5002000013
5002000014
5002000015
5002000016
5002000017
5002000018
5002000019
5002000020
5002000021
5002000022
5002000023
5002000024
5002000025
5002000026
5002000027
5002000028
5002000029
5002000030
5002000031
5002000032
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033
5002000033

它重复最后一个外循环值,但不输出内循环值。我对Javascript还是很陌生,所以我需要一些见识和解决方案,也许是简单的方法?谢谢!

2 个答案:

答案 0 :(得分:0)

在内部循环体内编写console.log以查看内部循环的结果

答案 1 :(得分:0)

以下应该有效:

var order;
for (var i = 1; i <= 52; i += 1) {
    if (i <= 32) {
        order = "500200000" + i;
        element(by.model("order")).clear().sendKeys(order);
        if (i >= 10) {
            order = "50020000" + i;
            element(by.model("order")).clear().sendKeys(order);
        }
    } else if (i == 33) {
        for (var a = 1; a <= 30; a += 1) {
            order = "69200000" + a;
            element(by.model("order")).clear().sendKeys(order);
            if (i >= 10) {
                order = "6920000" + a;
                element(by.model("order")).clear().sendKeys(order);
            }



            // ** add here a console.log output e.g.**
            console.log('inner loop: ' + order);



        }
        order = "5002000033";
        element(by.model("order")).clear().sendKeys(order);
    }
    console.log(order);
};