javascript - 将字符串转换为对象 - Javascript

标签 javascript arrays object

我有一个字符串,想根据某些条件将其转换为对象。

我的字符串是'?client=66&instance=367&model=125'。我想将其转换为像

这样的对象
{
  "client": 66,
  "instance": 367,
  "model": 125
}

我已经成功实现了它,但想找到更好的解决方案。下面是我的实现:

const path = '?client=66&instance=367&model=125';

const replacedPath = path.replace(/\?|&/g, '');

const clearedPath = replacedPath.match(/[a-z]+|[^a-z]+/gi).map(str => str.replace(/=/g, ''))

var output = {}
clearedPath.forEach((x, i, arr) => {
  if (i % 2 === 0) output[x] = Number(arr[i + 1]);
});

console.log(output)

请指教。非常感谢任何帮助。

最佳答案

Object.fromEntries(
    'client=66&instance=367&model=125'.split('&').map(it => it.split('='))
)

只需删除第一个“?”:

let src = '?client=66&instance=367&model=125';
if (src[0] === '?') src = src.substring(1);
const obj = Object.fromEntries(
    'client=66&instance=367&model=125'.split('&').map(it => it.split('='))
);
console.log(obj);

打印{客户端:“66”,实例:“367”,模型:“125”}

关于javascript - 将字符串转换为对象 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61580932/

相关文章:

javascript - 将非嵌套 JSON 数组解析为 HTML TreeView ?

javascript - `tsc` 命令是否接受 .d.ts 文件?

javascript - 带有选择框选项的 onMouseOut 事件问题 (IE)

java - 在java中的单个引用中调用不同类的不同方法

javascript - JavaScript 过滤器的替代返回 - 如果未找到客户端则显示消息

arrays - 如何像在 Python 中一样在 Julia 中拆分数组?

c++ - 使用文本文件中的数据初始化对象数组

java 类和对象没有正确的输出

javascript - 我可以使用旋转功能全天候移动一条线吗?

c++ - 类中的对象数组