gpt4 book ai didi

javascript - 在 Javascript (node js) 中将带有 & 符号的字符串转换为键值映射

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:26 27 4
gpt4 key购买 nike

我有一个字符串,其参数用 & 符号分隔,例如:

orderid=55e3a83e&DealId=545435&Amount=590 ....

如何将其转换为键/值映射?

我当前的代码如下:

  const text = "orderid=55e3a83e&DealId=545435&Amount=590 ...."


let _key = "";
let _value = "";

var myregexp = /([^&=]+)=(.*?)(?=&[^&=]+=|$)/g;
var match = myregexp.exec(text);
while (match != null && key !== "url") {
_key = match[1];
_value = match[2];
dict.push({
key: _key,
value: _value
});
match = myregexp.exec(subject);
}

但是太长了,有更好或更短的想法吗?

最佳答案

可以先用&分割,然后用=分割每个元素,构建一个键/值对

let mapper = (str) => str.split('&').filter(Boolean).map(v => {
let [key, value] = v.split('=')
return { key, value }
})
console.log(mapper('orderid=55e3a83e&DealId=545435&Amount=590 '))

<小时/>

如果需要以单个对象的形式输出

let mapper = (str) => {
let splitted = str.split('&').map(v => v && v.split('=')).filter(Boolean)
return Object.fromEntries(splitted)
}

console.log(mapper('orderid=55e3a83e&DealId=545435&Amount=590 '))

关于javascript - 在 Javascript (node js) 中将带有 & 符号的字符串转换为键值映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58715937/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com