Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การสร้างอาร์เรย์โดยใช้สตริงที่มีคีย์และค่าของคุณสมบัติ - JavaScript


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

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 marks the end of an object
--- one whitespace terminates one key/value pair within an object
--- ',' one comma separates the key from value of an object

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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