4.객체 7~10

2020. 7. 11. 12:05Retrospection/Sprint

7.  객체의 키속성값의 모음이 다른 객체가 될수있음 .

function addFullNameProperty(obj) {
  //'firstName lastname'반환 해야함 
  obj.fullName = obj.firstName + ' ' + obj.lastName
}

//obj[fullName] =  obj[firstName]+ ' ' + obj[lastName]  <= 이걸로 했을때는 테스트 통과를 못했고 key 값이 notdefined 라고 나왔었다. 브라켓 노테이션을 사용할때는 property_name으로 문자열이나 Symbol을 사용할 수 있다.
문자열은 유효한 식별자가 아니어도 괜찮음.여기서는 obj[firstName] 이라고 할때 firstName 이라는 변수값을 property 삼아서 다른값들이 들어가게 된다. 그 이유때문에 property 이름이 정해진 7번문제의 경우 브라켓노테이션으로 했을때 테스트 통과가 안되는 것 이다. 

  //아마도 그 이유는 dot notation 은 유효한 식별자가 들어가기 때문 . (예를들어 obj.fullName 이 있다고 할때 fullName 아라는 이름을 가진 키값이 설정되는것.)

 

/

8. 객체를 탐색하는 반복문인 for ...in 구문의 사용

function removeNumbersLargerThan(num, obj) {
    //for..in 구문 이용하기 
    //for ( property in obj)
   //num 보다 큰 모든 숫자의 속성을 제거  
    for(prop in obj){
        if (obj[prop] > num){
            delete obj[prop]
        }
    }
}

 

9. for ..in 구문의 사용과 객체에서의 연산자 사용 

function removeOddValues(obj) {
  //홀수인 속성값 제거
  //for .. in 사용 
  for ( prop in obj){
      if(obj[prop] % 2 === 1){
          delete obj[prop];
      }
  }
}

 

 

10.

function countNumberOfKeys(obj) {
  // for ..in 반복문 사용 
  //객체 안에 있는 속성들의 갯수 세기 
// let count = 0 해서 1씩 증가시켜보자.
let count = 0 ;
  for(prop in obj){
      count = count + 1 
  }
    return count ;
}

 

  • obj.keys(objName).length 를 사용하여 오브젝트의 프로퍼티 갯수를 알 수 있다. 
function countNumberOfKeys(obj) {
  return Object.keys(obj).length;
}

 

 

https://stackoverflow.com/questions/5223/length-of-a-javascript-object

 

Length of a JavaScript object

I have a JavaScript object. Is there a built-in or accepted best practice way to get the length of this object? const myObject = new Object(); myObject["firstname"] = "Gareth";

stackoverflow.com

 

'Retrospection > Sprint' 카테고리의 다른 글

5. 객체와 타입 1~3  (0) 2020.07.13
4. 객체 11~13  (0) 2020.07.12
4. 객체 4 ~ 6  (0) 2020.07.07
4. 객체 1~ 3  (0) 2020.07.07
윈도우 사이즈  (0) 2020.07.06