我有一个对象数组,比如这个
我想迭代一个数组并按特定的roomCode
查找用户我试过了:
for(let i=0; i <data.liveRooms.length; i++) {
if(data.liveRooms[i].roomCode === code) {
this.usersLive = data.liveRooms[i].users;
}
}
还有这个:
for(let i=0; i <data.liveRooms.length; i++) {
this.liveDataDictionary[data.liveRooms[i].roomCode] =
data.liveRooms[i].users;
}
this.usersLive = this.liveDataDictionary[code];
但没有任何作用,我也不知道为什么......你能帮助我吗?
答案 0 :(得分:3)
根据您发布的屏幕截图,data.liveRooms[i]
是一个字符串,而不是一个对象。您可以在for
循环中尝试此操作:
for(let i=0; i <data.liveRooms.length; i++) {
let liveRoom = JSON.parse(data.liveRooms[i]);
if(liveRoom.roomCode === code) {
....
}
}
JSON.parse()
方法是一个内置函数,它将看起来像对象的字符串转换为实际对象。此时,您将能够访问对象的点属性,例如.roomCode
。