ใช้ replace() พร้อมฟังก์ชัน callback เพื่อแทนที่ placeholder ด้วยข้อมูลจากอ็อบเจ็กต์
ตัวอย่างโค้ด
var temp = `My name is {{fullName}} I live in {{countryName}}`;
var details = {
"fullName": "David Miller",
"countryName": "AUS"
};
replaceName = temp.replace(
/\{\{(.+?)\}\}/g,
(matching, value) => details[value.trim()]
);
console.log(replaceName);รันด้วยคำสั่ง:
node fileName.js
ชื่อไฟล์: demo256.js
ผลลัพธ์
PS C:\Users\Amit\javascript-code> node demo256.js My name is David Miller I live in AUS
คำอธิบาย: Regex \{\{(.+?)\}\} จับข้อความระหว่าง {{ }} ฟังก์ชัน callback ใช้ค่าที่จับได้ (trim แล้ว) เป็น key ดึงค่าจากอ็อบเจ็กต์ details