迭代一个对象并在javascript中按键查找值

时间:2018-01-27 18:57:47

标签: javascript typescript

我有一个对象数组,比如这个

enter image description here

我想迭代一个数组并按特定的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];

但没有任何作用,我也不知道为什么......你能帮助我吗?

1 个答案:

答案 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

JSON.parse() at MDN