gpt4 book ai didi

JavaScript for 循环 Index 变为 arrayIndex

转载 作者:行者123 更新时间:2023-11-28 15:23:13 24 4
gpt4 key购买 nike

我有以下 JavaScript 代码片段

var ip = new Array();
// This array filled with values and passed to function
function calculateTime(ip) {
for (i in ip) {
window.alert(i);
if (!i in myArray) {
myArray[i] = 0;
} else {
myArray[i] += 1;
}
}
}

我期望 i 是一个索引(0, 1, 2 ...),但有时 window.alert 打印 "arrayIndex"因此我的代码无法正常工作。有人能给我解释一下原因吗?我是 JavaScript 新手。

最佳答案

for in 将循环遍历对象的所有可枚举属性。

数组附带的所有属性在现代浏览器中都不可枚举,但添加的任何属性(例如普通数组索引或任何自定义命名属性)都可以。

在某个地方,您有一些代码正在向数组添加 arrayIndex 属性,并且当您循环遍历它时,它就会出现。

var myArray = [];
myArray[0] = 1;
myArray[1] = 1;
myArray[2] = 1;
myArray.arrayIndex = 1;

for (prop in myArray) {
console.log(prop);
}

如果您只想获取数字索引,请使用标准 for 循环。

for (var i = 0 ; i < myArray.length ; i++) {
console.log(i);
}

关于JavaScript for 循环 Index 变为 arrayIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30368644/

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