我有一个字符串"host1:23,host2:24"
,我想解析一个像[{host:host1,port:23},{host:host2,port:24}]
的对象
答案 0 :(得分:0)
现场演示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)