
const keys = ['k1', 'k2'];
const values = ['injuk', 'ingnoh'];
const result = keys.reduce((acc, curr, idx) => {
acc[curr] = values[idx];
return acc;
}, new Object);
위의 코드는 keys와 values 배열을 사용하여 객체를 생성하는 방법 중 하나입니다.
keys와 values 배열을 생성합니다.const keys = ['k1', 'k2'];
const values = ['injuk', 'ingnoh'];
reduce() 함수를 사용하여 keys 배열을 순회합니다. reduce() 함수는 누적값(acc), 현재 값(curr), 현재 인덱스(idx)를 인자로 받아 사용합니다.keys.reduce((acc, curr, idx) => {
...
}, new Object);
acc 객체에 curr 값을 키로, values 배열에서 해당 인덱스(idx)에 위치한 값을 값으로 할당합니다.acc[curr] = values[idx];
reduce() 함수에서 반환된 누적값(acc)을 최종 결과값으로 사용합니다.return acc;
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 배열을 사용하여 각 요소를 키와 값으로 하는 객체를 생성할 수 있습니다.
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'