【发布时间】:2019-01-28 11:44:08
【问题描述】:
我正在用 javascript 编写一个简单的 for...in 循环,想知道为什么 key 是字符串而不是数字?
为什么会这样,我可以将其更改为数字吗?
var array = ["a", "b", "c"];
for (var key in array) {
console.log(typeof key); //string
console.log(key + 1); //expected output : 01, 11, 21...
}
【问题讨论】:
-
这可能是因为 for y in x 将 x 视为一个对象,因此您可以遍历其属性
-
如果您想访问数组元素,则使用带有数组的 foreach 有点昂贵,因为您必须将
key解析为 int,最好对对象使用 foreach 循环(@987654325 @) 而不是数组 ([])。数组的标准循环是for(let i=..; i < ....; i++) {}或array.forEach(function(val, i) { })。
标签: javascript for-loop