我正在尝试将简单的字符串转换成键/值对。
input :-> str ='<name>xyz</name>'
output :-> {name : 'xyz'}
下面是myFunction,但未显示确切结果
let str = '<name>xyz</name>'
function myFunction(str) {
let map ={}
let key
let value
str = str.split(/[.:;?!~,`"&|()<>{}[\]\r\n/\\]+/)
str = _.compact(str)
key = ??
value = ??
return map
}
基本上<>中的所有内容都是关键,并且在结束标记之间将被输出。我这里缺少适当的逻辑。任何帮助都将是可观的:-)
答案 0 :(得分:1)
匹配第一个<
和>
之间的所有内容以匹配键,并将第一个>
和第二个<
之间的所有内容匹配到该值,然后创建一个对象出来:
const str = '<name>xyz</name>';
const [,key,val] = str.match(/<([^>]+)>([^<]+)</);
const obj = { [key]: val };
console.log(obj);