Suppose, we have a string like this −
const str = 'Option 1|false|Option 2|false|Option 3|false|Option 4|true';
We are required to write a JavaScript function that takes in one such string.
The function should split the string off '|' to separate the option and its value and convert it to an array of objects like this −
const output = [ {
"option": "Option 1",
"value": false
}, {
"option": "Option 2",
"value": false
}, {
"option": "Option 3",
"value": false
}, {
"option": "Option 4",
"value": true
}
];Example
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));Output
And the output in the console will be −
[
{ option: 'Option 1', value: false },
{ option: 'Option 2', value: false },
{ option: 'Option 3', value: false },
{ option: 'Option 4', value: true }
]