Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

สร้างอาร์เรย์จากสตริงที่มี key และ value ของ property - JavaScript

สมมติว่าเรามีสตริงพิเศษแบบนี้:

const str ="Integer,1 Float,2.0\nBoolean,True Integer,6\nFloat,3.66 Boolean,False";

เราต้องเขียนฟังก์ชันที่แปลงสตริงข้างต้นเป็นอาร์เรย์ต่อไปนี้ โดยใช้ String.prototype.split():

const arr = [
  {
    "Integer":1,
    "Float":2.0
  },
  {
    "Boolean":true,
    "Integer":6
  },
  {
    "Float":3.66,
    "Boolean":false
  }
];

กฎการแปลง:

--- \n หมายถึงจบอ็อบเจกต์
--- เว้นวรรคหนึ่งคั่น key/value pair ภายในอ็อบเจกต์
--- ',' คอมม่าคั่น key จาก value ของอ็อบเจกต์

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

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' } ]
]