如何将字符串解析为对象

时间:2020-03-11 11:15:19

标签: javascript

我有一个字符串"host1:23,host2:24",我想解析一个像[{host:host1,port:23},{host:host2,port:24}]的对象

3 个答案:

答案 0 :(得分:0)

现场演示here

enter image description here

const str = "host1:23,host2:24";
const items = str.split(',');
let output = [];
items.forEach(item =>  {
    entries = item.split(':');
    output.push({host: entries[0], port: parseInt(entries[1])});
});
console.log(output);

答案 1 :(得分:0)

您可以在下面尝试此操作

let input = "host1:23,host2:24";
let data = input.split(',');
let output = [];
data.map(function (item) {
     let temp_dict = {};
     let obj = item.split(':');
     temp_dict['host'] = obj[0];
     temp_dict['port'] = obj[1];
     output.push(temp_dict);
});
console.log(output)

答案 2 :(得分:0)

通过“”将字符串分割,然后在分割字符串数组上使用reduce并生成所需的数组:

const str = "host1:23,host2:24"

const arr = str.split(',')

let obj = arr.reduce((acc, currItem) => {

  const [host, port] = currItem.split(":")

  return [...acc, {host, port: Number(port)}]

}, [])

console.log(obj)
相关问题