TypeScript中的For-in循环始终将变量视为字符串[重复]

9ceoxa92  于 2023-02-25  发布在  TypeScript
关注(0)|答案(1)|浏览(146)
    • 此问题在此处已有答案**:

for ... in loop with string array outputs indices(4个答案)
六年前关闭了。
这个问题困扰我有一段时间了。在TypeScript中,如果我定义一个for-in循环,我的变量总是被当作字符串处理。例如:

for(var room in this.rooms) {
    room.placement.x = 52;
}

room.placement.x将失败,因为它将room视为字符串。this.rooms实际上是Room对象的集合,但room不是Room ...它是字符串。
这是一个TypeScript版本的问题还是什么问题?这是非常令人沮丧的。
是否有一种方法可以定义房间,以便TypeScript可以将其视为一个房间?
房间的定义是:private rooms: Room.Game.Room[];
它是一个自定义对象数组。

8ehkhllq

8ehkhllq1#

如果this.rooms是数组,则正确的语法为for ...of

for (let room of this.rooms) {
    room.placement.x = 52;
}

for ... in迭代密钥。
更多信息请参见this

相关问题