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

Chuyển đổi chuỗi có dấu phân cách thành mảng đối tượng trong JavaScript

Giả sử, chúng ta có một chuỗi như thế này -

const str = 'Option 1|false|Option 2|false|Option 3|false|Option 4|true';

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một chuỗi như vậy.

Hàm nên tách chuỗi ra khỏi '|' để tách tùy chọn và giá trị của nó và chuyển đổi nó thành một mảng các đối tượng như thế này -

const output = [ {
   "option": "Option 1",
   "value": false
   }, {
      "option": "Option 2",
      "value": false
   }, {
      "option": "Option 3",
      "value": false
   }, {
      "option": "Option 4",
      "value": true
   }
];

Ví dụ

const str = 'Option 1|false|Option 2|false|Option 3|false|Option 4|true'; const stringToObject = (str = '') => {
   const res = [];
   for (let i = 0, a = str.split('|');
   i < a.length; i += 2) {
      const option = a[i], value = JSON.parse(a[i + 1]);
      res.push({ option, value });
   }
   return res;
};
console.log(stringToObject(str));

Đầu ra

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

[
   { option: 'Option 1', value: false },
   { option: 'Option 2', value: false },
   { option: 'Option 3', value: false },
   { option: 'Option 4', value: true }
]