gpt4 book ai didi

javascript - 为什么 key 是 for ... in 中的字符串

转载 作者:行者123 更新时间:2023-12-03 12:35:39 27 4
gpt4 key购买 nike

我正在用 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...
}

最佳答案

这是一个字符串,因为 JavaScript 中的标准数组 aren't really arrays at all ¹,它们是具有数组条目属性的对象,对象属性名称(键)是字符串、符号或(很快)私有(private)名称。

for-in 中,您不能默认将其设为数字​​,但您可以将其转换为数字,或使用其他形式,例如标准 for > 或 forEach 调用:

for (var key = 0; key < array.length; ++k) {
// ...
}
// ..or
array.forEach((entry, key) => {
// ...
});

使用for-in 循环数组几乎总是一种反模式。参见 my answer here全面了解遍历数组的各种选项。


¹ 这是我贫血的小博客上的帖子。

关于javascript - 为什么 key 是 for ... in 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54401295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com