สมมติว่าเรามีสตริงชนิดพิเศษเช่นนี้ −
const str ="Integer,1 Float,2.0\nBoolean,True Integer,6\nFloat,3.66 Boolean,False";
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่แปลงสตริงข้างต้นเป็นอาร์เรย์ต่อไปนี้โดยใช้เมธอด String.prototype.split() -
const arr = [ { "Integer":1, "Float":2.0 }, { "Boolean":true, "Integer":6 }, { "Float":3.66, "Boolean":false } ];
เราต้องใช้กฎต่อไปนี้สำหรับการแปลง -
-
\n ทำเครื่องหมายจุดสิ้นสุดของวัตถุ
-
ช่องว่างหนึ่งช่องยุติคู่คีย์/ค่าหนึ่งคู่ภายในวัตถุ
-
',' หนึ่งจุลภาคคั่นคีย์จากค่าของวัตถุ
ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const str ="Integer,1 Float,2.0\nBoolean,True Integer,6\nFloat,3.66 Boolean,False"; const stringToArray = str => { const strArr = str.split('\n'); return strArr.map(el => { const elArr = el.split(' '); return elArr.map(elm => { const [key, value] = elm.split(','); return{ [key]: value }; }); }); }; console.log(stringToArray(str));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ [ { Integer: '1' }, { Float: '2.0' } ], [ { Boolean: 'True' }, { Integer: '6' } ], [ { Float: '3.66' }, { Boolean: 'False' } ] ]