for i in [name, matches_total, matches_won, matches_lost]:
doSomething(i)
我尝试为JS做这个,但它没有用。基本上,我希望它能够对每个变量做任何事情。我如何用JS做到这一点?
我的尝试:
for (i in [name, matches_total, matches_won, matches_lost]){
doSomething(i);
}
答案 0 :(得分:3)
JavaScript没有完全相同的in
运算符。如果你在一个支持forEach
的环境中,它的风格相对较近(除了你为循环定义一个内部匿名函数,有点像Python lambda
:
[name, matches_total, matches_won, matches_lost].forEach(function(i) {
doSomething(i);
});
在这种情况下(您在每个列表项上调用单个函数的情况),您可以通过语法上非常好的方式简化此操作:
[name, matches_total, matches_won, matches_lost].forEach(doSomething);
答案 1 :(得分:1)
for (var i = 0; i < list.length; ++i) {
doSomething(list[i]);
}
有两种for循环,为对象设计的for-in
循环,以及循环for (;;)
的三语句。建议不要在数组上使用for-in
,因为它也会遍历其原型链。
答案 2 :(得分:0)
var my_array = [name, matches_total, matches_won, matches_lost]
for (var i in my_array){
doSomething(my_array[i]);
}