สมมติว่าต่อไปนี้เป็นสตริงของเราในรูปแบบจุด -
const keys = "details1.details2.details3.details4.details5"
และต่อไปนี้คืออาร์เรย์ของเรา -
const firsName = "David";
หากต้องการเปลี่ยนเป็นวัตถุที่ซ้อนกัน ให้ใช้แนวคิดของ split(‘.’) พร้อมกับ map()
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const keys = "details1.details2.details3.details4.details5" const firsName = "David"; var tempObject = {}; var container = tempObject; keys.split('.').map((k, i, values) => { container = (container[k] = (i == values.length - 1 ? firsName : {})) }); console.log(JSON.stringify(tempObject, null, ' '));
ในการรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้ -
node fileName.js.
ที่นี่ ชื่อไฟล์ของฉันคือ demo227.js
ผลลัพธ์
ผลลัพธ์จะเป็นดังนี้ −
PS C:\Users\Amit\JavaScript-code> node demo227.js { "details1": { "details2": { "details3": { "details4": { "details5": "David" } } } } }