简体   繁体   English

javascript for循环使用变量

[英]javascript for loop using variable

Can I use variable to do the second for loop so it list out all data in GroupA1 and GroupB1. 我可以使用变量做第二个for循环,以便它列出GroupA1和GroupB1中的所有数据。

Tried but fail.. anyone have idea how to make it work? 尝试过但失败了..有人知道如何使它工作吗?

for example 例如

function Loop(){
    var AllGroup=["GroupA1","GroupB1"]
    var GroupA1=["A1","A2"]
    var GroupB1=["B1","B2"]
    var Group=""

for(var i = 0; i < AllGroup.length; i++){
    Group=AllGroup[i]

    var SubGroup=""
    for(var x = 0; x < Group.length; x++){
        SubGroup=Group[x]
        alert(SubGroup);
    }
}
}

Hopefully my sample code can help you to deal with your question 希望我的示例代码可以帮助您解决您的问题

For example 例如

<script>
    var GroupA1=["A1","A2"]
    var GroupB1=["B1","B2"]
    var Group=""
    var AllGroup = [GroupA1, GroupB1]    
for(var i = 0; i < AllGroup.length; i++){
    Group=AllGroup[i]

    var SubGroup=""
    for(var x = 0; x < Group.length; x++){
        SubGroup=Group[x]
        alert(SubGroup);
    }
}
</script> 

Do it this way: 这样做:

function loop(){
 var GroupA1=["A1","A2"]
    var GroupB1=["B1","B2"]
var AllGroup=[GroupA1,GroupB1]

    var Group=""

    for(var i = 0; i < AllGroup.length; i++){
        Group=AllGroup[i]

        var SubGroup=""
        for(var x = 0; x < Group.length; x++){
            SubGroup=Group[x]
            alert(SubGroup);
        }
    }
}

Declare the arrays first then use them as objects in the next array. 首先声明数组,然后将它们用作下一个数组中的对象。

This is the structure I would recommend, which is more logical, instead of what you're using. 这是我建议的结构,比您使用的结构更合乎逻辑。

function Loop(){
    //The object AllGroups contains all the other groups
    var AllGroups = { 
        "GroupA1": ["A1","A2"],
        "GroupB1": ["B1","B2"]
    };

    for(var group in AllGroups){
            if(AllGroups.hasOwnProperty(group)){
                //Access each group in AllGroups
                for(var i = 0; i < AllGroups[group].length; i++){
                    console.log(AllGroups[group][i]); //A1, A2, B1, B2
                }
            }
    }
}

Rearrange code like this so that AllGroup is a collection containing GroupA1 and GroupB1: 像这样重新排列代码,以使AllGroup是包含GroupA1和GroupB1的集合:

function Loop() {
    var GroupA1=["A1", "A2"];
    var GroupB1=["B1", "B2"];
    var AllGroup=[GroupA1, GroupB1];
    var Group = null;

    for(var i = 0; i < AllGroup.length; i++){
        Group = AllGroup[i];

        var SubGroup = "";
        for(var x = 0; x < Group.length; x++){
            SubGroup = Group[x];
            alert(SubGroup);
        }
    }
}

Before you were referencing the strings "GroupA1" "GroupB1" not the actual data contained in the subgroups that you create. 在引用字符串“ GroupA1”,“ GroupB1”之前,并不是所创建子组中包含的实际数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM