본문 바로가기

카테고리 없음

Object.fromEntries 메서드를 이용하여 query string을 간단히 파싱하는 방법

쿼리스트링을 파싱해서 object 형태로 변환해서 사용하면 편리합니다. 이런 작업을 해주는 대표적인 라이브러리로 qs가 있습니다. 

 

 

Object.fromEntries 메서드를 이용하면 라이브러리를 사용하지 않아도 간단하게 쿼리 스트링을 파싱할 수 있습니다. 이 메서드는 key-value 쌍으로 이루어진 이터러블(Array, Map)을 받아서 Object로 바꿔줍니다. 

 

 

 

이를 이용해서 문자열 "?foo=unicorn&ilike=pizza"을 객체로 만들어 보겠습니다.

 

const qs = (string) => {
  const arr = string.slice(1).split("&");
  const list = arr.map(item => item.split("="));
  const obj = Object.fromEntries(list);
  return obj;
}

const result = qs('?foo=unicorn&ilike=pizza');
console.log(result);  // { foo: 'unicorn', ilike: 'pizza' }

 

 

IE를 제외한 다른 메이저 브라우저들에서는 사용할 수 있는 방법입니다.