0. Object.entries()
entries() 함수는 자바스크립트의 객체를 배열로 변환해준다. 이 배열에는 프로퍼티의 ['key', 'value'] 배열이 프로퍼티의 수만큼 포함되어있다.
let data = {
name : 'test',
age : '27',
job : 'programmer'
}
console.log(Object.entries(data));
// [Array(2), Array(2), Array(2)]
// 0: ['name', 'test']
// 1: ['age', '27']
// 2: ['job', 'programmer']
1. key와 value 사이에 '=' 넣기
Object.entries()로 객체를 배열로 변경했으니 이번에는 key와 value 사이에 '='을 넣어줄 차례이다. map()과 join()을 사용하여 하나의 배열에 있는 각 데이터를 '='로 연결할 수 있다.
map()을 사용하면 배열 안에 있는 key - value 배열을 꺼낼 수 있는데 join()은 배열을 하나의 문자열로 결합해주는 함수이다. join() 함수의 파라미터로 배열 데이터를 문자열로 결합할 때 그 사이에 들어갈 문자열을 지정할 수 있다.
console.log(Object.entries(data));
// [Array(2), Array(2), Array(2)]
// 0: ['name', 'test']
// 1: ['age', '27']
// 2: ['job', 'programmer']
console.log(Object.entries(data).map(e => e.join('=')));
// ['name=test', 'age=27', 'job=programmer']
2. '&'로 묶기
이제 각 파라미터를 '&'로 묶어주면 된다. 이 때도 join()을 사용하여 각 배열 데이터를 하나의 문자열로 결합하면 된다.
console.log(Object.entries(data).map(e => e.join('=')));
// ['name=test', 'age=27', 'job=programmer']
console.log(Object.entries(data).map(e => e.join('=')).join('&'));
// 'name=test&age=27&job=programmer'
'JavaScript > JavaScript' 카테고리의 다른 글
[Javascript] fetch 응답 null 체크하기 (0) | 2023.03.25 |
---|---|
toISOString()의 결과를 한국시간에 맞추기 (0) | 2023.03.13 |
[Javascript] FormData 객체의 사용 (0) | 2023.02.28 |
[Javascript] 자바스크립트로 Form 초기화하기 (0) | 2023.02.27 |
[Javascript] fetch api를 사용한 파일 다운로드 (0) | 2023.02.09 |