用JS顺序浏览3个数组

时间:2012-11-14 16:34:00

标签: javascript arrays

我知道这只是一个简单的问题,但我不知道哪里出错了。 我有3个arryas

姓名:

Alex, John, Sam

业余爱好

Baseball, Hockey, Golf

Sudbury, Toronto, Ottawa

我已设置以下代码,但第2和第3个数组不会更改。

for(var n=0;n<names.length;n++){  
var h=0;t<hobby.length;h++;
var c=0;c<city.length;c++;


alert (names[n]);
alert (hobby[h]);
alert (city[c]);
}

如何将它们设置为按顺序循环?

3 个答案:

答案 0 :(得分:1)

在做其他任何事情之前,你应该把它们变成一个合适的数据结构。

var people = [];

for( var i = 0; i < names.length; ++i ){
    people.push({
        name: names[i],
        hobby: hobby[i],
        city: city[i]
    });
}

然后:

for( var i = 0; i < people.length; ++i ) {
    var person = people[i];
    alert( person.name );
    alert( person.hobby );
    alert( person.city );
}

答案 1 :(得分:0)

var h=0;t<hobby.length;h++;
var c=0;c<city.length;c++;

这两行对你的代码几乎没有任何作用。在每次迭代中,两个变量都设置为0,然后递增1。因此,当来到alert()时,它们总是1

假设,具有相同索引的项目始终相互关联,这将为您提供相应的集合:

for(var n=0;n<names.length;n++){  
  alert (names[n]);
  alert (hobby[n]);
  alert (city[n]);
}

答案 2 :(得分:0)

假设它们的长度相同,并且没有丢失的条目,您可以:

for(var n=0;n<names.length && n<hobby.length && n<city.length;n++){
  alert (names[n]);
  alert (hobby[n]);
  alert (city[n]);
}