Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

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

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

Giả sử chúng ta có một loại chuỗi đặc biệt như sau:

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

Chúng ta cần 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 ta phải dùng các quy tắc sau để chuyển đổi:

  • \n đánh dấu kết thúc một object
  • một khoảng trắng kết thúc một cặp key/value trong object
  • ',' một dấu phẩy tách key khỏi value của object

Do đó, hãy viết mã cho hàm này:

Ví dụ

Mã thực hiện như sau:

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

Kết quả trong console sẽ là:

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