简体   繁体   English

如何将字符串解析为对象

[英]How to parse a string to an Object

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

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

You can try this below:你可以在下面试试这个:

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)

split the string by "," then use reduce on split string array and generate you desired array:用“,”分割字符串,然后在分割字符串数组上使用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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM