ใช้ Object.keys(), reduce(), concat() แปลงค่าสตริงเป็นอาร์เรย์เดี่ยว
ตัวอย่างโค้ด
var details = { name: ["John", "David"], age1: "21", age2: "23" },
output = Object
.keys(details)
.reduce((obj, tempKey) =>
(obj[tempKey] = [].concat(details[tempKey]), obj), {});
console.log(output);รันด้วยคำสั่ง:
node fileName.js
ชื่อไฟล์: demo302.js
ผลลัพธ์
PS C:\Users\Amit\javascript-code> node demo302.js
{ name: [ 'John', 'David' ], age1: [ '21' ], age2: [ '23' ] }คำอธิบาย: [].concat(val) แปลงค่าใดๆ เป็นอาร์เรย์ (ถ้าเป็นอาร์เรย์อยู่แล้วคงเดิม ถ้าเป็น primitive ห่อในอาร์เรย์) reduce สร้างอ็อบเจ็กต์ใหม่ (expr, obj) ใช้ comma operator คืน obj