Object.fromEntries()

문자열에 있는 내용들을 변수의 키로 지정하는 방법이 존재합니다.

바로 Object.fromEntries( )입니다. 이는 주어진 배열에서 키-값 쌍을 기반으로 새로운 객체를 생성하는 JavaScript 메서드에요.

이 메서드는 ES2019(ES10)에서 도입되었습니다.

 

바로 사용해봅시다!

처음에 key로 사용할 문자열 변수를 생성해 줍시다.

const abc = 'a, b, c';

 

그 다음 이 문자열을 배열로 만들어 줘야겠죠.

abc 변수를 쉼표로 분리하여, 배열로 변환해 줍시다.

const keys = abc.split(', ').map(key => key.trim());

이렇게 하면, {a, b, c}인 배열이 생성이 됩니다.

 

이제 이 배열을 사용하여, param이라는 객체를 생성해 줍시다.

이 때, Object.fromEntries( )를 사용해요.

const param = Object.fromEntries(keys.map => [key, null]));

 

결과를 찍으면, 다음과 같이 나타납니다.

console.log(param); // { a: null, b: null, c: null }

 

이 방법을 활용하면, 다음과 같이 keyvalue문자열을 넣을 수 있어요.

const keys = 'name, age, class'
const values = 'Kim, 20, A'

// 쉼표로 분리하여 배열로 변환
const keysArr = keys.split(', ').map(key => key.trim())
const valuesArr = values.split(', ').map(values => values.trim())

// 각 배열들을 사용해 userInfo 객체 생성
const userInfo = Object.fromEntries(keysArr.map((key, index) => [key, valuesArr[index]]))

console.log(userInfo) // { name: 'Kim', age: '20', class: 'A' }

 

 

참고

MDN의 Object.fromEntries()

W3 Schools의 JavaScript Object.fromEntries()