Object into query string parameters in JavaScript

Nội dung bài viết

Là một developer JavaScript, bạn thường sẽ thường xuyên gặp trường hợp này, và thay vì search trên google cách chuyển một object thành một query string parameters, thì trong bài này chúng ta sẽ đi lướt qua những cách nhanh và hiệu quả nhất. 

Tham gia cùng chúng tôi:

Facebook: Cộng đồng lập trình javascript

Facebook Thảo luận về Javascript, ReactJS, VueJS, AngularJS Việt Nam

Trong bài viết này chúng ta sẽ cùng nhau chuyển đổi có dạng như thế này?

let obj = {
   id: 1234,
   search: 'query string parameters in JavaScript',
   token: '123412341341',
}

Và biến object trên thành một dạng thế này

https://anonystick.com?id=1234&search=query%20string%20parameters%20in%20JavaScript&token=123412341341

Ở hướng dẫn này thì không khó khăn hay suy nghĩ nhiều, ở đây tôi chỉ liệt kê cho các bạn những cách nhanh nhất có thể, chứ không cần suy nghĩ hay có một vấn đề cao siêu gì ở đây. 

1 - Sử dụng map và join

ES6

var queryString = Object.keys(params).map(key => key + '=' + params[key]).join('&');

ES5

var queryString = Object.keys(params).map(function(key) {
    return key + '=' + params[key]
}).join('&');

2 - Sử dụng jquery

 Bạn nào đang sử dụng jquery trên client thì có thể sử dụng chúng cho những task như thế này

var queryString = $.param(params);

3 - Sử dụng trong node

 Nếu bạn đang sử dụng trong môi trường node thì có một cách cũng nhanh và gọn. Đó là querystring module in node

const querystring = require('querystring');
let queryString = querystring.stringify(params);

4 - encodeURIComponent

var queryString = Object.keys(params).map((key) => {
    return encodeURIComponent(key) + '=' + encodeURIComponent(params[key])
}).join('&');

Những tip này theo tôi bạn nên save vào một file Utils. Trong một vòng đời của một dev luôn có một file Utils. Cho nên đây sẽ là một trong những tip nên cần ghi lại. 

Happy coding!

Tham gia cùng chúng tôi:

Facebook: Cộng đồng lập trình javascript

Facebook Thảo luận về Javascript, ReactJS, VueJS, AngularJS Việt Nam