749693135166000
김영빈
  • 2016.3.1 20:09
  • 조회수 812
  • 답변수 2
749693135166000
김영빈
  • 2016.3.1 20:09
  • 조회수 812
  • 답변수 2

혹시 정답이 어떻게 되나요??

정답과 해설을 알려주시면 감사하겠습니다 ...!

  • #자바스크립트 입문
  • #for in문 - 실습

2 답변

  • Dbucdlkpqyn7yg1hgsny
    이확영
    • 2016.3.2 10:25

    var obj = {
        name: "object",
        age: 10,
        weight: 5
    }
    
    var sum = 0;
    for (var key in obj) {
        if (typeof(obj[key]) == "number") {
            sum = sum + obj[key];
        }
    }
    
    console.log(sum);
    

    javascript associative array에서는 for...in을 사용하여 key를 순회하면서 값을 가져올 수 있습니다.
    for...in 내에서 console.log(key)를 호출하면 name, age, weight가 출력되는 것을 확인할 수 있습니다.

    참고: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

  • 1181143661974744
    리희찬
    • 2016.12.15 04:14

    var sum = 0;
    for ( var propertyName in obj ){
    if( typeof(propertyName ) == "number" ){
    sum = sum + obj[propertyName];
    }
    }
    console.log(sum);
    이렇게 접근했는데 안되서 찾아보다
    위에 답변 보니까 obj[propertyName] 으로 접근해야 되나요?
    앞선 예제에선 propertyName이 객체 이름으로 지정 된 것 같은데 그렇다면
    type of가 객체를 접근 할 때는 속성이름값이 아니라. 속성 값으로 가져와야 제대로 된 값을 출력 할 수 있나 보네요

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.