将带分隔符的字符串转换为JavaScript中的对象数组

假设我们有一个像这样的字符串-

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

我们需要编写一个包含一个这样的字符串的JavaScript函数。

该函数应将字符串拆分为“ |” 分离选项及其值并将其转换为这样的对象数组-

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

示例

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

输出结果

控制台中的输出将是-

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