หน้าแรก/บทความ/วิธีการแปลง Object ไปเป็น Query String Parameters ใน JavaScript (ES6)
กลับหน้าบทความ
🔗JavaScript

วิธีการแปลง Object ไปเป็น Query String Parameters ใน JavaScript (ES6)

แนะนำวิธีแปลง JavaScript Object ไปเป็น Query String Parameters สำหรับใช้ใน URL โดยใช้ Object.keys(), map(), template literals และ join()

ศิริชัย ธีรภัทรสกุล (ตั้ม)อ่าน 2 นาที11 เมษายน 2563
#JavaScript#ES6#Query String#Object#URL

พอดีใน App ที่เขียนโดย React มีต้องใช้การแปลง Object ไปเป็น Query String Parameters สำหรับใช้ใน URL อีกที เลยมาเขียน Blog วิธีทำไว้อีกครั้ง

ตัวอย่าง

ขอใช้ Object โดยมีลักษณะแบบนี้

const params = {
    a: 1,
    b: 2,
    c: 3,
    d: 4
};

โดยจะทำการแปลงค่าเป็น Query String Parameters สำหรับนำไปผูกใช้งานกับ URL ต่อไป ลักษณะดังนี้

a=1&b=2&c=3&d=4

วิธีการ

เริ่มต้นใช้ Object.keys() ในการ Return ค่าออกมาเป็น Array

const queryString = Object.keys(params);
// Array ["a", "b", "c", "d"]

จากนั้นใช้ map() วนลูปค่า โดยใช้ Template strings ในการประกอบ Key คั่นด้วยเครื่องหมาย = ตามด้วยค่าที่ใช้ Key อ้างถึง

const queryString = Object.keys(params).map(key => `${key}=${params[key]}`);
// Array ["a=1", "b=2", "c=3", "d=4"]

จากนั้นใช้ join() เพื่อผูกค่าทั้งหมดเข้าด้วยกัน ด้วยเครื่องหมาย &

const queryString = Object.keys(params).map(key => `${key}=${params[key]}`).join("&");
// "a=1&b=2&c=3&d=4"

ถ้ารู้ว่ามี key และ value ที่มีความจำเป็นต้อง encode ก็ควรจะใช้ encodeURIComponent() ร่วมด้วย เหมือนกับด้านล่างนี้

const queryString = Object.keys(params)
    .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)
    .join("&");

อ้างอิง: https://developer.mozilla.org/

🚀 รับพัฒนาเว็บไซต์ & เว็บแอพพลิเคชั่น

สนใจดูตัวอย่างงานหรือสอบถามเพิ่มเติม ติดต่อได้เลยครับ โค้ดโมทีฟ (CodeMotive)