gpt4 book ai didi

javascript - str[index + 1] 在 for 循环中返回未定义

转载 作者:行者123 更新时间:2023-12-02 17:24:58 26 4
gpt4 key购买 nike

为什么会出现这种情况?

let str = 'sSAo'
console.log(str[0], str[3]) // all good

for (let i in str) {
// why str[i+1] is undefined ???
console.log(i, str[i], str[i+1])
}

最佳答案

问题是 for..in 循环迭代对象的属性名称。但属性名称始终是字符串,而不是数字。因此,例如,在第一次迭代时:

str[i+1]

评估为

str['0'+1]

这是

str['01']

相反,首先将 i 转换为 Number:

let str = 'abcd'

for (let i in str) {
console.log(i, str[i], str[Number(i)+1])
}

关于javascript - str[index + 1] 在 for 循环中返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52109879/

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