[프로그래머스] JS - reduce함수를 이용해 새로운 객체 생성, 객체 key & value 값 접근

신혜린·2023년 5월 4일
0

알고리즘(javascript)

목록 보기
13/21
post-thumbnail
const keys = ['k1', 'k2'];
const values = ['injuk', 'ingnoh'];

const result = keys.reduce((acc, curr, idx) => {
    acc[curr] = values[idx];
    return acc;
}, new Object);

위의 코드는 keysvalues 배열을 사용하여 객체를 생성하는 방법 중 하나입니다.

  1. keysvalues 배열을 생성합니다.
const keys = ['k1', 'k2'];
const values = ['injuk', 'ingnoh'];
  1. reduce() 함수를 사용하여 keys 배열을 순회합니다. reduce() 함수는 누적값(acc), 현재 값(curr), 현재 인덱스(idx)를 인자로 받아 사용합니다.
keys.reduce((acc, curr, idx) => {
    ...
}, new Object);
  1. acc 객체에 curr 값을 키로, values 배열에서 해당 인덱스(idx)에 위치한 값을 값으로 할당합니다.
acc[curr] = values[idx];
  1. reduce() 함수에서 반환된 누적값(acc)을 최종 결과값으로 사용합니다.
return acc;
  1. 마지막으로 누적값(acc)이 초기값으로 지정된 빈 객체(new Object)로 설정된 result 변수에 할당합니다.
const result = keys.reduce((acc, curr, idx) => {
    acc[curr] = values[idx];
    return acc;
}, new Object);

이 코드를 실행하면, result 변수는 다음과 같은 객체를 가지게 됩니다.

{
  k1: 'injuk',
  k2: 'ingnoh'
}

따라서 keys 배열과 values 배열을 사용하여 각 요소를 키와 값으로 하는 객체를 생성할 수 있습니다.


객체의 key와 value값 접근하기

const Person = {
  name: 'Hong Gil Dong',  // Key: name,   Value: '홍길동'
  age: 20,                // Key: age,    Value: 20
  gender: 'male'          // Key: gender, Value: 'male'
};
console.log(Object.keys(Person)) /// [name, age, gender]
console.log(Object.values(Person)) /// ['Hong Gil Dong', 20. 'male']
console.log(Person[name]) /// 'Hong Gil Dong'
profile
개 발자국 🐾

0개의 댓글