Computer >> Máy Tính >  >> Lập trình >> Javascript

Chuyển đổi chuỗi thành một mảng trong JavaScript

Giả sử chúng ta có một loại chuỗi đặc biệt như thế này -

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

Chúng tôi được yêu cầu viết một hàm JavaScript để chuyển đổi chuỗi trên thành mảng sau, sử dụng phương thức String.prototype.split () -

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

Chúng tôi phải sử dụng các quy tắc sau để chuyển đổi -

  • \ n đánh dấu phần cuối của một đối tượng

  • một khoảng trắng kết thúc một cặp khóa / giá trị trong một đối tượng

  • ',' một dấu phẩy ngăn cách khóa với giá trị của một đối tượng

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[
   [ { Integer: '1' }, { Float: '2.0' } ],
   [ { Boolean: 'True' }, { Integer: '6' } ],
   [ { Float: '3.66' }, { Boolean: 'False' } ]
]