我知道这只是一个简单的问题,但我不知道哪里出错了。 我有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]);
}
如何将它们设置为按顺序循环?
答案 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]);
}