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'