【发布时间】:2014-11-08 17:07:48
【问题描述】:
我真的很惊讶,在 Javascript 中:
> vals = ["a", "b", "c"]
> for (v in vals) console.log(v + 1)
01
11
21
这是因为:
> for (v in vals) console.log(typeof(v))
string
string
string
所以我不得不这样做:
> for (v in vals) console.log(parseInt(v) + 1)
1
2
3
为什么会这样?
我知道我能做到
> for (var v = 0; v < vals.length; v++) console.log(v + 1)
1
2
3
但在与 python 一起使用时,我的想法是 for ... in ... 迭代
【问题讨论】:
-
"...但是与 python 一起使用我的想法是
for ... in ...迭代" Python 在这里无关紧要。这是 JavaScript。所有对象属性都是字符串。使用for循环。 -
...在 JS 中有几个原因对我们来说是
for而不是数组上的for-in。但是,如果您真的想这样做,可以将其缩短为console.log(+v + 1);
标签: javascript arrays iteration