for...in 문을 사용하여 객체의 키 반복

  • 때때로 개체 내의 모든 키를 반복해야 할 수도 있습니다. 이를 위해서는 for...in 문이라는 JavaScript의 특정 구문이 필요합니다. users 객체의 경우 다음과 같을 수 있습니다.

  • for (let user in users) {
      console.log(user);
    }
    


  • 이렇게 하면 Alan, Jeff, Sarah 및 Ryan이 기록됩니다. 각 값은 자체 행에 있습니다.
  • 이 명령문에서 변수 user를 정의했으며, 보시다시피 이 변수는 명령문이 개체를 반복하면서 개체의 각 키에 대해 각 반복 중에 재설정되어 각 사용자의 이름이 콘솔에 인쇄됩니다. .
  • 예: 하나의 인수(사용자 개체)를 허용하는 함수countOnline를 정의했습니다. 이 함수 내에서 for...in 문을 사용하여 함수에 전달된 사용자 개체를 반복하고 온라인 속성이 users 로 설정된 true의 번호를 반환합니다. countOnline에 전달할 수 있는 사용자 개체의 예는 다음과 같습니다. 각 사용자는 online 또는 true 값을 가진 false 속성을 갖게 됩니다.
  • 참고: 이 챌린지에서 점 표기법으로 인해 오류가 발생합니다.
    변수 속성 이름을 호출하려면 [대괄호] 표기법을 사용해야 합니다.

  • {
      Alan: {
        online: false
      },
      Jeff: {
        online: true
      },
      Sarah: {
        online: false
      }
    }
    



    function countOnline(usersObj) {
      // Only change code below this line
    
      // Only change code above this line
    }
    


  • 답변:

  • let testUser = {
      Alan: { 
        online: false 
      },
      Jeff: {
        online: true 
      },
      Sarah: {
        online: false
      }
    };
    
    
    function countOnline(usersObj) {
      let onlineUsers = 0;
    for (let user in usersObj) {
    console.log(user); // console will display Alan, Jeff, Sarah
    console.log(usersObj[user]); // console will display { online: false } { online: true } { online: false }
     if (usersObj[user].online === true) {
       onlineUsers++
     }
    }
    return onlineUsers;
    };
    
    console.log(countOnline(testUser)); // console will display 1
    

    좋은 웹페이지 즐겨찾기