Javascript

Obejct 메서드

index.ys 2024. 1. 6. 21:50

Object.keys

- 객체의 key만 담은 배열을 반환함

const obj = {
    name:"김용식",
    age:29
}
//['name','age']
Object.keys(obj)

- 객체의 프로퍼티 갯수를 반환하는 함수 만들기

  let obj ={
  	apple : 2000,
    banana :  2000,
    peach : 4000,
    kiwi : 1500
  }
  
  
  function count(obj) {
  //Object.key(obj) ['apple', 'banana' , 'peach' , 'kiwi']
    return Object.keys(obj).length;
  }
  
  console.log(obj) // 4

Object.values

- 객체의 값만 담은 배열을 반환함

const obj = {
    name:"김용식",
    age:29
}
// ['김용식' , 29]
Object.values(obj) // 객체의 값만 담은 배열을 반환함

- 객체의 value를 모두 더하는 함수 작성하기

function sumSalaries(a) {
  let sum = 0;
  let value = Object.values(a)
  for (let salary of value) {
    sum += salary;
  }

  return sum; // 650
}

//sumSalaries함수의 선언부 위에 변수를 선언하면 함수에서 오류가 나서 실행이 안돼도 변수를 선언하기떄문에
//메모리 영역을 차지함, 함수 호출부 위에 변수를 선언하면 함수 선언부에서 오류가 나지 않을 때, 함수를 호출함
let salaries = {
  "John": 100,
  "Pete": 300,
  "Mary": 250
};

sumSalaries(salaries)

- Object.keys()와 똑같이 동작하는 함수 만들기

function makeValueArr(obj){
    let valueArr = []
    for(key in obj){
        valueArr.push(obj[key])
    }
    return valueArr
}


let obj = {
  banana: 1,
  orange: 2,
  meat: 4,
};

makeValueArr(obj) //[1,2,4]

Obejct.entries

- 객체 키-값 쌍이 요소인 배열을 반환함

const obj = {
    name:"김용식",
    age:29
}

console.log(Object.entries(obj))  //객체의 [키,값] 쌍을 담은 배열을 반환함) 
// [['name','김용식'] , ['age', 29]]

- 객체 프로퍼티 value에 특정 조작

let doublePrices = Object.fromEntries(
//Object.entries(prices)에서 [['banana', 2000] , ['apple',3000] , ['kiwi',5000]] 배열생성
//map(['banana',2000]) => 각 배열요소 반복하면서 value에 특정 동작 실행
  Object.entries(prices).map(([key, value]) => [key, value * 2])
);